Среда разработки и платформа для выполнения программ LabVIEW

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. Простейший прибор.

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

  • 1- точки, элементы программы (Nodes);
  • 2 — терминалы индикаторов (Indicator Terminals);
  • 3 — связи (Wires);
  • 4 — терминалы управляющих элементов (Control Terminals)

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

5 стр., 2127 слов

Системы программирования

... вполне определенного класса задач. Системой программирования называется комплекс программ, предназначенный для автоматизации программирования задач на ЭВМ (2, 569). Система программирования освобождает проблемного пользователя или ... прототипов программы, для разработки приложений баз данных и вообще для компонентного способа создания программ, работающих под управлением операционных систем семейства ...

Этот код чем-то напоминает собой блок-схему, хотя отличий много.

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. В появившемся окне (рис.2) выберите пункт New>Blank VI.

5 стр., 2406 слов

Разработка программы управления роботом-сапером

... средства нуждаются в управлении человека, они не способны выполнять операции в автономном режиме. Только немногие роботы имеют способность выполнять ... человек мог бы ими управлять [4]. Но данная программа, которая начала свое существование в 2003 году, была закрыта ... точность его данных составляет 94% [8]. 1.4 Военно-морские роботизированные средства Если про БЛА, и боевые роботы известно каждому ...

Интерфейс панел 1

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

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

Интерфейсная панель

окне редактирования диаграмм

Интерфейсная панель 1

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

Интерфейсная панель 2

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

Иконки или терминалы

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

Связи — это соединительные линии между иконками (терминалами).

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

Структуры -, Линейка инструментов.

Структуры  1

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

  • 1 — кнопка запуска программы на выполнение, пока приложение выполняется, значок меняет свой внешний вид;
  • 2 — кнопка запуска программы на выполнение в циклическом режиме, пока приложение выполняется, значок меняет свой внешний вид;
  • 3 — когда приложение запущено, эта кнопка находится в активном состоянии, используйте ее для прекращения выполнения программы;
  • 4 — кнопка «ПАУЗА» приостанавливает исполнение программы до последующего нажатия на эту же кнопку;
  • 5 — выпадающее меню редактирования свойств шрифта: тип, размер, стиль и цвет;
  • 6 — выпадающие меню, позволяющие осуществлять выравнивание и позиционирование объектов, распределять графические объекты передней панели VI.
  • 7 — если вы устанавливаете объект поверх другого объекта, то нижний объект может быть перекрыт и недоступен, используйте это выпадающее меню размещения объекта поверх или под желаемым.

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

Структуры  2

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

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

14 стр., 6887 слов

Программы системы 1С: Предприятие. Администрирование в программах ...

... панели инструментов позволят вам быстро получать доступ к часто используемым функциям программы. Типовая конфигурация 1С: ... редактирование печатных форм документов "запирание" системы пользователем при временном прекращении работы. 1С: Зарплата и Кадры 7.7 (Компонента «Расчет») Программа "1С: ... Дополнительные возможности системы Разнообразные возможности настройки конфигурации Работа с распределенными ...

Структуры  3

Рис. 7. Линейка инструментов окна редактирования диаграмм

  • 1 — нажав эту кнопку, и запустив программу на выполнение, Вы сможете отлаживать программу и следить за следованием данных между объектами;
  • 2 – включение или отключение сохранения значений связей;
  • 3 — нажатие на эту кнопку позволяет Вам в процессе отладки «входить» в структуры, например, в циклы и подпрограммы;
  • 4 — нажав эту кнопку, Вы активизируете пошаговый режим отладки, т.е.

данные будут передаваться от иконки к иконке, останавливая программу, подсвечивая при этом текущий элемент, и ожидать следующего шага – нажатия на эту же кнопку;

  • 5 — нажатие на эту кнопку позволяет Вам в процессе отладки «выходить» из структуры, например, из цикла, и перейти к следующему «узлу».

Выпадающее меню.

Один из основных служебных компонентов, который позволяет создавать, модифицировать и отлаживать виртуальные инструменты – это Панель Инструментов (Tools), рис. 8.

Выпадающее меню  1

Рис. 8. Панель инструментов

View > Tools Palette

Выпадающее меню  2 Operate Value

Выпадающее меню  3 Position/Size/Select

Выпадающее меню  4 Edit text

Выпадающее меню  5 Connect Wire

Выпадающее меню  6 Object Shortcut Menu

Выпадающее меню  7 Scroll Window

Выпадающее меню  8 Set/Clear Breakpoint

Выпадающее меню  9 Probe Data

Выпадающее меню  10 Get Color

Выпадающее меню  11 Set Color

Панель Управления, Панель Управления,

View>Controls

Панель управления 1

Рис. 9. Панель управления

View>Show

Functions Palette

7 стр., 3372 слов

Многозначительная среда Windows 98. Панель задач

... ярлыков. Внизу экрана находится панель задач с кнопкой Пуск, панель Быстрый запуск, одна кнопка задач и область индикаторов. В ... позволяют многим пользователям работать на одном компьютере со своими индивидуальными настройками. Различная настройка этих профилей даё ... двигатель дисковода, установить читающие головки на определенный цилиндр, выбрать определенную читающую головку, прочесть информацию с ...

Панель управления 2

Рис. 10. Функциональная панель

Построение СМО в LabVIEW

Programming>Synchronization>Queue Operation>Obtain Queue

Построение смо в  1

Рис. 11. Инициализация очереди

Programming>Synchronization>Queue Operation>Enqueue Element

Построение смо в  2

Рис. 12. Добавление элементов в очередь

While Loop, programming>structures>While Loop.

Построение смо в  3

Рис. 13. Чтение из очереди

Get Queue Status, Programming>Synchronization>Queue Operation>Get Queue Status.

Построение смо в  4

Рис. 14. Количество элементов в очереди

Enqueue Element

Чтобы время поступления пациентов в очередь и время обслуживания пациентов можно было устанавливать на интерфейсной панели, поменяйте constant у приборов задержки Wait (ms) на Control. Для этого кликните правой кнопкой мыши на константу и выберите Change to Control. Чтобы время задавалось в секундах, вставьте между управляющей пиктограммой и прибором Wait (ms) множитель (Programming>Numeric>Multiply) на 1000. В цикле с Dequeue Element необходима последовательность действий для правильной работы. Выберите Programming>Structure>Flat Sequence, поместите прибор Dequeue Element и прибор Wait (ms) внутрь Flat Sequence. Кликните на границе Flat Sequence правой кнопкой мыши, и выберите Add Frame и поместите во второй фрейм индикатор «обслужено пациентов». У Вас получится программа, как на рисунке 15.

Построение смо в  5

Рис. 15. Модель СМО

На интерфейсной панели выделите индикатор Пациенты и растяните его вниз так, чтобы появилось несколько индикаторов. Кликните правой кнопкой мыши и выберите Visible Items>Unit Label. Для удобства восприятия на интерфейсной панели разместите управляющие элементы и индикаторы, относящиеся к регистратуре в одно окно, например, на панели управления выберите Controls>Modern>Decorations>Raised Frame, а относящиеся к врачу, в другое. В итоге должна получиться программа, как на рис.16.

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

Построение смо в  6

Рис. 16. Интерфейс программы.

Методические указания к выполнению лабораторной работы

1) На основе описания системы выявить её исходные характеристики (интенсивность входного потока, время обслуживания, длина очереди, интенсивность обслуживания).

9 стр., 4118 слов

Классы обслуживания на борту воздушного судна

... и оказывает ему содействие на всех этапах прохождения предполетных процедур на земле. На борту воздушного судна в просторном салоне класса ... Бизнес-класс обслуживания - место для работы и отдыха Максимум удобств для пассажиров. Уровень сервиса на самом высоком ... подумают, что сэкономив на авиабилете, они смогут выбрать более достойный отель для своего отдыха. Первый класс обслуживания - высокие ...

2) Создать модель СМО в среде (“LabView”).

3) Оценить характеристики этой модели.

4) Оценить соответствие характеристик накладываемым ограничениям на исходную систему.

5) Выбрать способ модификации модели СМО для удовлетворения ограничениям.

6) Оценить характеристики полученной модели.

7) Внести адекватные изменения в исходную систему.