Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОЕКТИРОВАНИЕ ВИРТУАЛЬНЫХ ИЗМЕРИТЕЛЬНЫХ ПРИБОРОВ В СРЕДЕ LabVIEW.pdf
Скачиваний:
265
Добавлен:
26.03.2015
Размер:
2.01 Mб
Скачать

Министерство образования Российской Федерации Балтийский государственный технический университет «Военмех»

ПРОЕКТИРОВАНИЕ ВИРТУАЛЬНЫХ ИЗМЕРИТЕЛЬНЫХ ПРИБОРОВ

В СРЕДЕ LabVIEW

Практикум

Под редакцией А.А. Сорокина

Санкт-Петербург

2003

Авторский коллектив: А.А. Сорокин канд. техн. наук, доц.;

Ю.В.Петров канд. техн. наук, доц.; А.Ю. Герасимов, асп.; П.С. Алексеев, асп.; С.Н.Сидоренко, асп.

УДК 621.317.08(075.8) П24

Проектирование виртуальных измерительных приборов в П24 среде LabVIEW: Практикум / Под ред. А.А. Сорокина; Балт. гос.

техн. ун-т. СПб., 2003. 82 с.

Изложен новый подход к описанию и программированию цифровых устройств обработки информации, реализованный в среде проектирования виртуальных измерительных приборов LabVIEW. Предлагается изучение этой среды путем последовательного выполнения девяти работ, сложность которых увеличивается по мере изучения материала. Содержание учебного пособия отвечает общепрофессиональной дисциплине «Цифровая обработка сигналов» государственных образовательных стандартов высшего профессионального образования.

Предназначено для студентов приборостроительных специальностей дневной и вечерней форм обучения.

УДК 621.317.08(075.8)

Рецензент канд. техн. наук, доц. каф. 34 Военно-космической академии

И.В.Шитов

Утверждено редакционно-издательским советом университета

© БГТУ, СПб., 2003

2

ВВЕДЕНИЕ

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) – это среда разработки программ, подобная современным системам программирования, таким как VC++, Delphi, VBA. Однако LabVIEW имеет одно очень важное отличие. Все вышеперечисленные системы программирования используют текстовые языки программирования для создания программного кода, в то время как LabVIEW использует графический язык программирования G для создания программы в виде некоторой блоксхемы. Это позволяет обыкновенным инженерам и техникам, не имеющим богатого опыта программирования, используя понятную им терминологию и графические символы, значительно быстрее, чем на «текстовом» языке, описывать программируемые действия. LabVIEW создает законченные 32-разрядные откомпилированные программы, которые обеспечивают высокую скорость выполнения, необходимую для сбора и обработки данных.

LabVIEW, подобно VC++, Delphi, VBА, является универсальной системой программирования с развитыми библиотеками и множеством функций для любых задач. LabVIEW включает в себя практически все традиционные средства разработки программ. Например, Вы можете установить точки прерывания, «оживить» выполнение программы для того, чтобы увидеть, как она работает, проследить пошаговое выполнение программы в целях ее отладки и т.п. Кроме того, LabVIEW обеспечивает многочисленные механизмы для подсоединения внешнего программного кода через DLL, общие (shared) библиотеки, ActiveX и другие.

Хотя LabVIEW является универсальной системой программирования, главное ее назначение – создание систем сбора, анализа, обработки, визуализации и хранения данных. LabVIEW полностью интегрирована для связи с аппаратной частью ПК, поддерживающей такие протоколы, как GPIB, VXI, PXI, RS-232, RS-485, а также встроенные платы сбора данных. LabVIEW включает в себя библиотеки и инструменты, разработанные специально для сбора данных и управления. Кроме того, она имеет библиотеки и для использования стандартного программного обеспечения, такого, например, как сети TCP/IP.

Программы LabVIEW часто называют виртуальными инструмента-

ми – ВИ (Virtual Instruments – VI), потому что их внешний вид и выполняемые действия имитируют реальные инструменты (контрольноизмерительные приборы). Вместе с тем, виртуальные инструменты похожи и на обычные «текстовые» программы. Каждый из них содержит интерактивный пользовательский интерфейс и диаграмму, похожую на традиционную блок-схему, которая является исходным кодом. Более детально ВИ состоит из следующих основных компонентов.

3

1.Интерактивный пользовательский интерфейс, называемый передней или лицевой панелью (front panel). Он имитирует внешний вид передней панели реального прибора, которая может содержать переключатели, кнопки и другие управляющие элементы (входы в программу), а также лампы, дисплеи, другие индикаторы (выходы из программы). Вы можете ввести данные, используя «мышь» или клавиатуру, и сразу увидеть результат на экране компьютера.

2.Диаграмма (block diagram), которую Вы создаете с помощью графического языка программирования G. Диаграмма – это в принципе сама программа (исходный код, «инструкции»), созданная методами визуального программирования. Она содержит терминалы (terminals), которые ассоциируются с установленными на передней панели управляющими элементами и индикаторами, а также может включать различные функции

(functions) и структуры (structures) из внутренних библиотек LabVIEW.

3.Пиктограмма (icon) – это графическое изображение Вашего ВИ. Как правило, оно размещается в верхнем правом углу передней панели и диаграммы и определяет, как будет выглядеть на диаграмме Ваш ВИ, если использовать его в качестве подпрограммы в другом ВИ.

Язык программирования G, используемый в LabVIEW – это простой в освоении графический язык организации потока данных (data flow). Он значительно упрощает разработку программ. Основная концепция языка G основывается на следующем.

1.ВИ могут содержать иерархическую структуру и модули. Вы можете использовать их как отдельные законченные программы или в качестве модулей в других программах. В этом случае ВИ в других программах называют подпрограммами (subVI). Это означает, что LabVIEW поддерживает концепцию модульного построения программ. Вы можете разделить программу на несколько отдельных задач (которые в свою очередь можно разделить на ряд подзадач) и построить несколько ВИ для выполнения каждой из этих простых подзадач. После этого Вы можете комбинировать эти простые ВИ (модули) на другой диаграмме для выполнения более сложных задач. Окончательно на самом верхнем уровне такой иерархии Ваш ВИ будет состоять из набора подпрограмм (subVI), которые будут выполнять возложенные на них функции. Так как Вы можете выполнять каждую подпрограмму по отдельности, то процесс отладки при этом значительно упрощается. Более того, большинство подпрограмм часто выполняют одинаковые задачи в нескольких приложениях, так что Вы можете разработать набор специализированных приложений (модулей) и использовать их при построении своих ВИ.

2.ВИ имеют три основные части: переднюю панель, диаграмму и иконку. Передняя панель определяет интерфейс пользователя ВИ, диа-

4

грамма – исполняемый код, иконка – как будет выглядеть на блок-схеме Ваш ВИ, если использовать его в качестве подпрограммы в другом ВИ.

3. При выполнении программы LabVIEW следует пользоваться организованной моделью потока данных. Диаграмма содержит узлы (nodes), такие как терминалы (с передней панели), структуры и т.п. Между ними Вы организуете соединения (wires), которые и определяют поток данных через программу. «Выполнение узла» наступает тогда, когда все его входы оказываются доступными. Когда узел завершает выполнение, он «освобождает» все свои выходы для следующего узла в организованном потоке данных.

Палитры. В LabVIEW существуют так называемые палитры (palettes), дающие Вам возможность вводить и редактировать элементы на передней панели и в диаграмме.

Палитра «Инструменты» (Tools) используется и для передней панели, и в диаграмме. Она содержит инструменты, которые Вы можете использовать для редактирования и отладки элементов на передней панели и блок-схеме:

Operate Value для выполнения некоторых действий, не связанных с редактированием, например, нажатие на кнопки, изменение позиций выключателя;

Position/Size/Select для выделения, перемещения, удаления объектов, а также для изменения их размеров;

Edit Text для ввода и редактирования любого текста;

Connect Wire для соединения объектов на диаграмме;

Object Popup для вызова всплывающего меню в любом месте передней панели или диаграммы;

Scroll Window для организации скроллинга окна;

Set/Clear Breakpoint для организации точек останова при выполнении программы;

Probe Data для вывода текущих значений данных при выполнении программы;

Get Color для выделения цвета;

Set Color для установки цвета.

Палитра «Управление» (Controls) требуется только для передней панели. Она содержит органы управления и индикаторы, которые Вы можете использовать при создании интерфейса пользователя.

Цифровые органы управления и индикаторы (Numeric), служат для ввода и отображения цифровых значений:

5

– двухпозиционные органы управления и индикаторы Boolean для ввода и отображения двоичной информации (вкл/выкл, on/off, 1/0 и т.п.);

– органы управления строками и таблицами String & Table для ввода и отображения текстовых значений;

– органы управления списками и меню List & Ring для отображения и/или выбора опций в них;

– органы управления массивами и кластерами Array & Cluster для группирования наборов данных;

– органы управления графикой Graph для вывода цифровых данных в виде графиков или диаграмм;

– органы управления файловыми путями и ссылками Path & Refnum для ввода и отображения файловых путей и ссылок на другие ВИ;

– органы управления объектами ActiveX для расширенной поддержки

ActiveX;

– органы управления диалогами Dialog для организации интерактивного диалога с пользователем;

– органы управления декоративными элементами Decorations для расширения графических возможностей при оформлении передней панели;

– органы управления, созданные пользователем User Controls;

– выбор органов управления, созданных ранее и сохраненных в фай-

лах Select a Control….

Палитра Functions требуется только для диаграммы. Она содержит элементы, которые Вы можете использовать для программирования Вашего ВИ. Это могут быть, например, арифметические операторы, функции ввода/вывода и другие.

– структуры Structure включают в себя циклы While и For, структуры

Case и Sequence и другие;

6

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

(π, е, с, g и т.д.);

– логические функции Boolean, в том числе и логические константы;

– строковые функции String позволяют манипулировать с текстовыми переменными и константами, в том числе делать различные преобразования, например, чисел в строки и строки в числа;

– действия с массивами Array;

– действия с кластерами Cluster;

– действия сравнения – компараторы Comparison для числовых и текстовых переменных;

– функции работы со временем и диалогами Time & Dialog;

– функции работы с дисковыми файлами File I/O;

– функции связи с внешними контрольно-измерительными приборами Instument I/O, используя GPIB, VXI, VISA и последовательные порты

(Serial);

– набор драйверов для работы с GPIB, VXI, Serial и CAMAC приборами Instrument Driver, драйверы должны быть установлены при установ-

ке LabVIEW;

– функции сбора данных Data Acquisition для сбора и генерации цифровых и аналоговых данных в реальном времени;

– функции обработки сигналов Signal Processing, имеются функции фильтрации, генерации, преобразования сигналов и другие;

7

– математические функции Mathematics позволяют Вам использовать различные математические формулы, вероятностные и статистические расчеты, сглаживание, оптимизацию, линейную алгебру, матричное исчисление и другие;

– функции графики и звуков Graphics & Sound позволяют Вам использовать сложные изображения и графики, создавать их динамически, «оживлять» различные объекты, интегрировать звуки в ВИ;

– функции связи Communication для обмена данными с другими приложениями, используя TCP/IP, DDE, ActiveX и другие;

– функции управления приложениями Application Control включают в себя создание меню, организацию встроенной помощи (Help), печать и другие;

– дополнительные функции Advanced содержат те функции, которые не вошли ни в одну из вышеперечисленных категорий;

– генератор отчетов Report Generation;

– учебник Tutorial содержит готовые ВИ, используемые в учебных целях;

– библиотеки пользователя User Libraries содержат ВИ, созданные Вами;

– функция Select A VI… открывает диалоговое окно, в котором Вы можете выбрать любую библиотеку или ВИ.

Соглашение об использовании терминов. В данном пособии исполь-

зуются различные термины, часто обозначающие одно и то же. Такая неоднозначность вызвана тем, что все стандартные элементы управления имеют уникальные названия, общеизвестные и широко используемые. Однако, учитывая специфичность среды разработки программ LabVIEW, некоторые общеизвестные термины заменены специфичными, имеющими аналогичное значение. Ниже приведены наиболее употребляемые традиционные и специфичные термины, используемые в данном пособии.

1. Меню (Menu) – текстовая строка, расположенная непосредственно под заголовком окна программы. В LabVIEW меню содержит следующие пункты: File, Edit, Operate, Project, Windows, Help. Обычно при выборе

8

любого пункта меню открывается подменю – список возможных действий, объединенных в данном пункте меню. Каждая функция в этом списке также называется пунктом меню. При выборе некоторых таких пунктов меню может открываться еще одно подменю и т.д. Если при выборе пункта меню не открывается подменю, то выполняется действие, ассоциированное с данным пунктом меню. Пункт меню также иногда называют командой.

2.Контекстное или всплывающее меню (Context Menu) – список возможных действий, называемых пунктами меню. Этот список аналогичен описанному выше подменю, однако контекстное меню появляется в результате нажатия на правую кнопку мыши, а не при выборе, например, такого пункта меню, как File.

3.Палитра (Palette) – окно, содержащее некоторое количество кнопок. Традиционным аналогом термина палитра является панель инструментов, используемая, например, в программе Microsoft Word. Однако палитра LabVIEW, в отличие от панели инструментов Microsoft Word, не может присоединяться к меню. По сути, палитра аналогична меню, у которого пункты обозначены не текстовыми строками, а кнопками с условными обозначениями (значками или иконками). Существуют три типа палитр, также называемых в данном пособии, как меню: палитра управления (Controls Palette), палитра инструментов (Tools Palette) и палитра функций

(Functions Palette).

4.Панель (Panel) – окно программы LabVIEW, в котором отображается внешний вид передней или лицевой панели разрабатываемого виртуального инструмента.

5.Диаграмма (Diagram) или схема – окно программы LabVIEW, в котором отображается внутреннее устройство разрабатываемого виртуального инструмента.

Следует различать элементы-индикаторы (Indicator) и элементырегуляторы или органы управления (Control). Зачастую один и тот же элемент может (хотя и не одновременно) выполнять функции и регулятора, и индикатора. Примером такого элемента может служить элемент Knob. Для того чтобы определить тип прибора (индикатор или регулятор) нужно выбрать инструмент Position/Size/Select , навести на интересующий элемент указатель мыши и нажать правую кнопку мыши. В появившемся контекстном меню следует выбрать пункт Change to Indicator для того, чтобы элемент стал индикатором, или Change to Control для того, чтобы элемент стал регулятором.

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

9