Основы разработки ППО в среде программирования LabVIEW

Среда программирования LabView является продукцией компании National Instruments и представляет собой средство разработки ППО, близкое по своей логической структуре к конструкциям языков Си или Бейсик. Однако, LabView в отличии от них использует не текстовый язык программирования, а графический – язык G. Он позволяет создавать программы в виде блок-схем.

LabView имеет обширные библиотеки функций для решения различных задач, таких как ввод/вывод, обработка, анализ и визуализация сигналов; контроль и управление технологическими объектами; статистический анализ и комплексные вычисления; взаимодействие процессов и сетевые технологии ActivX и TCP/IP; поддержка SQL запросов; работа с Internet и др.

Программные приложения, создаваемые в LabVIEW, носят название виртуальных инструментов (VI), включают две основные панели:

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

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

При этом виртуальные инструменты являются также аналогами функций языков программирования и подчиняются принципам иерархичности и модульности. В результате формируемые VI оказываются составленными из VI более низкого уровня (subVI), реализуя при этом концепцию модульного программирования. Возможно также накапливать и создавать собственные библиотеки виртуальных инструментов.

Основные понятия и панели LabVIEW

Запуск среды программирования LabVIEW осуществляется либо двойным кликом мыши на ярлыке LabVIEW, который находится на рабочем столе, либо из раздела Программы – National Instruments LabVIEW (изложение для Windows 9х, NT, 2000). При входе в главное меню LabVIEW (версия 5.1) пользователю предлагается создание нового виртуального инструмента (New VI) или открытие уже существующего (Open VI).

Разработка VI осуществляется на двух панелях, находящихся в двух окнах, - передней и функциональной. На передней панели визуально размещаются средства управления и индикации, на функциональной – составляется блок-схема или исходный код будущего VI. Структура панелей одинакова. Основным элементом каждой панели является рабочая область, снабженная горизонтальным и вертикальным скролингами, в которой и размещаются элементы. Также на панелях имеется верхнее меню и набор функциональных кнопок. Размер окон может регулироваться пользователем. Размещение одновременно двух окон на экране – Ctrl+T. Активизация одной из панелей осуществляется посредством клика мыши в ее области или Ctrl+E. Имя панели соответствует имени загруженного в него VI. Если VI новый, то панель носит название Untitled. Сохранение VI осуществляется через верхнее меню любой из панелей – File-Save или File-Save As для сохранения под новым именем.

Для обеих панелей доступна панель Tools Palette (рис.1), включающая набор управляющих кнопок для изменения режима редактирования. Перечислим некоторые из них:

Основы разработки ППО в среде программирования LabVIEW - student2.ru Рис. 1. Панели Tools, Controls и Functions   Основы разработки ППО в среде программирования LabVIEW - student2.ru     Основы разработки ППО в среде программирования LabVIEW - student2.ru

· кнопка «указательный палец» – служит для изменения позиций выключателей и кнопок, управления значениями цифровых регуляторов, настройки виртуальных осциллографов и др.

· кнопка «стрелка» – выделение, перемещение объектов, изменение их размера.

· кнопка «А» – открытие и редактирование текстового окна.

· кнопка «катушка» – служит для соединения объектов на функциональной панели.

· кнопка «кисть» – раскрашивание объектов или фона.

· кнопка «рука» – перемещение рабочей области панели в окне.

· кнопка «пипетка» – выбор текущего цвета из имеющихся на панели.

· кнопка «красный круг» – для размещения и снятия точек остановки выполнения программы на функциональной панели.

· кнопка «Р» – для размещения на функциональной панели локальных окон для отображения текущих значений данных, передаваемых в ходе выполнения программы.

При активной передней панели становится доступной панель Controls (рис.1). С ее помощью осуществляется визуальное размещение регуляторов и индикаторов на передней панели VI. Регуляторы предназначены для ввода информации в ходе выполнения программы, индикаторы – для вывода. В панели Controls они распределены по отдельным группам по некоторым признакам – числовые, логические, строковые, массивы, диалоговые, ActivX, Internet и др.

При активировании функциональной панели становится доступной панель Functions (рис.1), которая аналогично панели Controls включает систематизированные наборы стандартных элементов в виде отдельных пиктограмм, из которых осуществляется составление блок-схемы VI.

На передней и функциональной панелях также размещаются управляющие кнопки (рис. 2), такие как

- кнопка «стрелка» – пуск выполнения программы; если в программе имеются ошибки, то данная кнопка расколота на две части;

- кнопка «стрелки в цикле» – запуск программы в циклическом режиме;

- кнопка «красный круг» – остановка выполнения программы;

- кнопка «две вертикальные черты» – пауза в выполнении программы.

Основы разработки ППО в среде программирования LabVIEW - student2.ru

Рис. 2. Управляющие кнопки

Процесс разработки VI включает:

1 Размещение регуляторов и индикаторов на передней панели VI. Для этого из панели Controls выбирается объект требуемого типа и внешнего вида и размещается в требуемом месте на передней панели. При этом его размер, цвет, описание и название могут в последующем меняться.

2 Добавление требуемых для прикладной задачи структур и функций на функциональной панели. Для этого из панели Functions выбираются соответствующие структуры и функции, пиктограммы которых размещаются на функциональной панели.

3 Соединение регуляторов, индикаторов, констант, функций и др. на функциональной панели при помощи проводки.

Основы разработки ППО в среде программирования LabVIEW - student2.ru

Рис. 3. Регуляторы и индикаторы

Регуляторы и индикаторы выполняют те же функции, что и входные и выходные параметры в текстовых языках программирования. При размещении регулятора/индикатора на передней панели, LabView создает соответствующую пиктограмму на блок-схеме. Символы на терминале соответствуют типу данных терминала. Например, DBL – терминал представляет данные в виде вещественных чисел с двойной точностью, TF – логический терминал, I16 – терминал 16 – битных целых и др. (рис. 3).

При нажатии правой кнопки мыши на регуляторе/индикаторе (как на передней, так и функциональной панели) появляется контекстное меню, с помощью которого возможно осуществить:

· замену индикатора на регулятор и наоборот (Change to Control, Change to Indicator);

· быстрый поиск терминала на функциональной панели (Find Terminal) и регулятора/индикатора на передней панели (Find Control, Find Indicator);

· демонстрацию или отказ от нее для названия и описания регулятора/индикатора (Show–Label, Show–Caption);

· настройку параметров регулятора/индикатора (Data Operations);

· замену на другой регулятор/индикатор (Replace);

· получение справки по используемой функции (Online Help);

· открытие для функций соответствующих им констант, индикаторов и регуляторов (Create Constant, Create Indicator, Create Control ); и др.

Терминалы представляют собой области функции, через которые передается информация. Они аналогичны параметрам в текстовых языках программирования. Для того, чтобы увидеть какие терминалы включает данная функция необходима по правой кнопке мыши на пиктограмме из контекстного меню выбрать Show–Terminals (рис. 4).

Основы разработки ППО в среде программирования LabVIEW - student2.ru

Рис. 4. Терминалы

Провода - пути данных между терминалами. Они аналогичны переменным на обычных языках (рис.3). Данные идут в только одном направлении, с исходного терминала на один или более терминалов адресата. Провода имеют различную толщину и цвет. Синий цвет соответствует целым числам, оранжевый – вещественным числам, зеленый – логическим, лиловый – строковым данным. По мере перехода от скаляра к массиву и кластеру увеличивается толщина провода.

Для соединения терминалов необходимо подвести курсор мыши к исходному терминалу (из панели Tools выбрана кнопка «катушка»). При этом отдельные части пиктограммы, соответствующие различным терминалам начинают мигать, а также появляются всплывающие подсказки для облегчения идентификации терминала. После выбора нужного терминала на нем необходимо кликнуть левой кнопкой мыши. В этом случае один конец провода станет закрепленным за данным терминалом. Другой конец, перемещая курсор мыши, необходимо подвести к терминалу адресата и кликнуть левой кнопкой на нем. Если данное соединение возможно, то провод станет соответствующего типу передаваемых данных цвета, в противном случае он станет пунктирным черного цвета. Удаление всех некорректных соединений Ctrl+B.

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

Пиктограмма VI соответствует каждому виртуальному инструменту и располагается в правом верхнем углу передней панели (рис. 3). Для редактирования пиктограммы используется упрощенный графический редактор, позволяющий создавать изображение, закрашивая его отдельные пикселы. Для этого необходимо вызвать контекстное меню на иконке в правом верхнем углу лицевой панели, и выбрать Edit Icon.

Коннектор представляет собой программный интерфейс виртуального инструмента. При использовании регуляторов или индикаторов на передней панели для передачи данных в VI, эти объекты должны иметь терминалы на панели коннектора. Он вызывается из контекстного меню на пиктограмме VI Show Connector. При этом выделяются терминалы для регуляторов на левой половине панели, а для индикаторов – на правой в соответствии с их количеством. Соответствие терминала индикатору или регулятору устанавливается щелчком левой кнопки мыши на терминале коннектора, а затем на соответствующем индикаторе или регуляторе. Это особенно важно при использовании разрабатываемого VI в других виртуальных инструментам для обеспечения возможности его подключения.

SubVI является аналогом подпрограммы. В создаваемом VI возможно использование любого виртуального инструмента, имеющего коннектор. Базовые настройки и тип разрабатываемого VI устанавливаются в контекстном меню пиктограммы – пункт VI Setup.

Панель Controls служит для добавления регуляторов и индикаторов к передней панели. Если панель Controls не видна на экране, ее можно открыть через верхнее меню Windows – Show Controls Palette. Панель Controls доступна, только если активно окно передней панели. Рассмотрим основные подпанели панели Controls.

· Numeric (числовые значения). Состоит из регуляторов и индикаторов для числовых данных.

· Boolean (Булевы значения). Состоит из регуляторов и индикаторов для булевых величин.

· String&Table (строковые значения и таблицы). Состоит из регуляторов и индикаторов для ASCII строк и таблиц.

· List & Ring (списки и закольцованные списки). Состоит из регуляторов и индикаторов для меню, выполненных в форме списков и закольцованных списков.

· Array & Cluster (массивы и кластеры). Состоит из регуляторов и индикаторов для группировки наборов типов данных.

· Graph (виртуальные осциллографы). Состоит из индикаторов, для построения графиков данных в графах или диаграммах в реальном масштабе времени.

· Path & Refnum (пути и ссылки). Состоит из регуляторов и индикаторов для путей и ссылок.

· Decorations (оформление). Состоит из графических объектов для настройки дисплеев передней панели.

· Select Control (выбор регулятора). Отображает диалоговое окно для загрузки самодельных элементов управления.

· User Controls (средства управления пользователя). Состоит из специальных средств управления, которые формирует сам пользователь.

· ActiveX (объекты ActiveX). Состоит из средств управления, позволяющих внедрить объекты ActiveX на переднюю панель.

· Dialog (диалоговая панель). Состоит из стандартных объектов для формирования диалога с пользователем.

· IMAQ Vision (обработка изображений). Состоит из средств обработки и анализа изображений.

· Internet Toolkit (работа с Internet). Состоит из средств управления, располагаемых на передней панели, позволяющих организовывать ра-боту виртуальных инструментов в сети Internet (ftp, электронная почта, telnet, CGI и другие).

Панель Functions предназначена для формирования блок-схемы VI. Каждая пиктограмма на панели открывает подпанель пиктограмм нижнего уровня. Если панель Functions не видна на экране, ее можно открыть через верхнее меню Windows – Show Functions Palette. Панель Functions доступна, только если активно окно функциональной панели. Рассмотрим основные подпанели панели Functions.

· Structures (структуры). Состоит из управляющих структур программы, таких как циклы For Loop, While Loop и другие.

· Numeric (числовые функции). Состоит из тригонометрических, логарифмических и других функций.

· Boolean (Булевы функции). Состоит из логических и Булевых функций.

· String (строковые функции). Состоит из функций для работы со строковыми величинами.

· Array (массивы). Состоит из функций для обработки массивов.

· Cluster (кластеры). Состоит из функций для обработки кластеров.

· Comparison (сравнение). Состоит из функций для сравнения переменных.

· Time & Dialog (время и диалог). Состоит из функций для диалоговых окон, синхронизации, и обработки ошибок.

· File I/O (ввода/вывода файла). Состоит из функций для осуществления операций по вводу/выводу файлов.

· Instrument I/O (инструменты ввода/вывода). Состоит из VI для связи и управления приборами различной архитектуры.

· Instrument Drivers (драйверы приборов). Состоит из VI, способных управлять внешними приборами, осциллоскопами, генераторами, и т.д., через последовательный порт или интерфейс GPIB.

· Data Acquisition (сбор данных). Состоит из VI для использования плат сбора данных.

· Signal Processing (обработка сигналов). Состоит из VI для генерации и обработки сигналов.

· Mathematics (математические). Состоит из оптимизационных, алгебраических, интегральных, дифференциальных и других функций.

· Graphics & Sound (графика и звук). Состоит из VI для работы трехмерной графикой, изображениями и звуком.

· Communication (связи). Состоит из виртуальных приборов для работы с сетями TCP, DDE и др.

· Application Control (управление приложением). Состоит из VI, управляющих виртуальными приборами.

· Advanced (расширенная). Состоит из разных функций типа функции библиотечного запроса, манипуляции данных и др.

· Report Generation (генерация отчета). Состоит из VI, используемых для подготовки отчетных документов.

· Tutorial (обучающие программы). Состоит из VI, используемых в обучающей программе LabVIEW.

· User Libraries (пользовательские библиотеки). С помощью нее организуется быстрый доступ к нужному vi.

· Select VI (выбор VI). Состоит из диалогового окна для внедрения подпрограмм в текущий ВП.

· IMAQ Vision (обработка изображений). Состоит из VI, используемых для обработки и анализа изображений.

· Image Acquisition (получение изображения). Состоит из VI, используемых для получения и обработки изображений.

· Internet Toolkit (работа с Internet). Состоит из VI, используемых для работы в сети Internet (ftp, электронная почта, telnet, CGI и другие).

· SQL (SQL запросы. Состоит из VI, используемых для организации связи с SQL сервером и обработки запросов.

Наши рекомендации