Labview курсовая работа

Создание виртуальных приборов в среде LabView

Введение

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

Области применения LabVIEW :

Сбор и анализ сигналов с датчиков;

Управление измерительными приборами;

Автоматизация испытаний;

Встраиваемые системы мониторинга и управления;

Преподавание технических дисциплин.

Техническое задание

Задания курсового проекта выполняется среде
графического программирования LabVIEW 7.0. По результатам выполнения оформить
отчет в соответствии со стандартом на оформление текстовых документов.

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

В заданиях, где требуется открывать/сохранять
файл, выводить диалог запроса пути к файлу. активный фильтр массив строка

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

Задание 1

Ввести слово, определить какую позицию в нем
занимает буква К.

Для выполнения задания на лицевой панели
размещаем элемент для ввода строки String Controls и элемент вывода числового
значения Numeric Indicator. Обозначаем их, соответственно, введите строку и
количество букв К.

Далее переходим на вкладку Block Diagram. На
блок-диаграмме устанавливаем структуру While loop, внутри этой структуры
располагаем следующие функции: String Constant, numeric indicator, math patern,
hexademical string to number, equal?, numeric constant.

Также устанавливаем Index Array .

Располагаем и соединяем их следующим образом

При введении различных символов в элемент
«Ввести строку» на цифровом индикаторе отображается количество букв «К» в
строке.

Задание 2

Открыть файл с двумерным массивом не известной
размерности.

Строки верхней половины массива поменять местами
со строками нижней половины.

Сначала создадим на вкладке блок-диаграммы цикл
с фиксированным числом интеграций. Терминал счетчика итераций установим в значение
равное 99, это можно сделать кликнув правой кнопкой по терминалу счетчика
итераций цикла и в появившемся контекстном меню выбрать пункт Create Constant
появиться синий прямоугольник в который вводим значение 99, потом соединяем
константу с терминалом счетчика итераций проводником при помощи инструмента
соединение. В сам цикл с фиксированным числом итераций поместим функцию
генерации случайного числа от 0 до 1. Туда же поместим функцию сложить которая
находиться в том же разделе палитры функции что и предыдущая, функция
рассчитывает сумму входов. Еще поместим функцию Build Array и функцию записать
файл табличного формата Write To Spreadsheet File.vi. Функция Build Array
объединяет набор массивов или добавляет элементы к n-мерному массиву. Функция
Write To Spreadsheet File.vi преобразует двумерный или одномерный массив чисел
с одинарной тонностью в текстовую строку, а затем записывает строку в новый
файл или добавляет существующий.

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

Следующим этапом добавляем на вкладку блок-схемы
структуру Case Structure и функции index array, replase array subset, build
array, array size и numeric constant. Разбиваем нашу блок схему на два этапа
структурой flat sequence(поэтапное выполнение). И соединяем все следующим
образом:

Проверяем правильность сборки схемы.

Переводим вверх переключатель перемещения строк
массива

Нажимаем кнопку запуска программы и сохраняем
файл в заранее подготовленное место

Проверяем перемещение строк массива

Строки поменялись местами — схема собрана верно.

Вывод

В процессе выполнения заданий были приобретены
навыки работы в среде программирования LabVIEW. Была изучена предметная область
на основе специализированной литературы.

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

Список литературы

1.
Тревис, ДЖ. LabVIEW для всех / Джеффри Тревис: Пер. с англ. Клушин Н.А. — М.:
ДМК Пресс; ПриборКомплект, 2005. — 544 с.:ил.

.
Суранов, А.Я. LabVIEW 7: справочник по функциям / А.Я. Суранов — М.: ДМК Пресс,
2011. 512 с.

.
Евдакимов, Ю.К. LabVIEW для радиоинженера: от виртуальной модели до реального
прибора. Практическое руководство для работы в программной среде LabVIEW / Ю.К.
Евдакимов, В.Р. Линдваль, Г.И. Щербаков — М.: ДМК Пресс, 2007. — 400с.

.
Батоврин, В.К. LabVIEW: практикум по основам измерительных технологий: Учебное
пособие для вузов / В.К. Батоврин, А.С. Бессонов, В.В. Мошкин, В.Ф. Папуловский
— М.: МДК Пресс, 2010. — 208с.: ил.

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

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:

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

  • 1 — нажав эту кнопку, и запустив программу на выполнение, Вы сможете отлаживать программу и следить за следованием данных между объектами;

  • 2 – включение или отключение сохранения значений связей;

  • 3 — нажатие на эту кнопку позволяет Вам в процессе отладки «входить» в структуры, например, в циклы и подпрограммы;

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

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

Выпадающее меню. Установив элемент управления на интерфейсную панель или иконку в окне редактирования диаграмм, мы всегда можем, например, изменить свойства этого объекта. Для этого нужно подвести указатель мыши к желаемому объекту и нажать правую кнопку мыши. В результате появится выпадающее меню, позволяющее редактировать объект.

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

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

Вызывается из основного меню View > Tools Palette.

Operate Value — управление объектами, например, для перемещения ползунка или поворота ручки;

Position/Size/Select — установка, «перетягивание», перемещение, изменение размеров объекта – стрелочка меняет свой внешний вид, когда доступна опция изменения размеров объекта;

Edit text— инструмент для ввода текста, как в окне интерфейсной части программы, так и в окне редактирования диаграмм;

Connect Wire — используется для связи (соединения) объектов;

Object Shortcut Menu — инструмент выполняет аналогичную функцию, что и нажатие на правую кнопку мыши на желаемом объекте, т.е. служит для вызова выпадающего меню;

Scroll Window – перемещение (прокрутка) содержимого окна одновременно;

Set/Clear Breakpoint — установка точек (меток) останова программы при ее отладке;

Probe Data — устанавка пробника в окне редактирования диаграмм, который, во время выполнения или отладки программы показывает значение параметра, где установлен пробник;

Get Color — копирование цвета в палитру — необходимо подвести указатель и нажать левую кнопку мыши;

Set Color — установка цвета объекта и его фона.

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

Используя Панель Управления, Вы можете устанавливать (добавлять) элементы управления и индикаторы. Каждая опция иконизированного меню

содержит подменю, в котором находятся соответствующие объекты. Вызывается из основного меню View>Controls Palette, рис. 9.

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

Элементы Функциональной Панели используются для создания диаграмм, т.е. алгоритма работы VI. Функциональная панель содержит необходимые функции для работы с различными типами и структурами данных, и позволяет реализовывать алгоритмы любой сложности от простых арифметических вычислений до функционально сложных, таких, например, как спектральный анализ. Вызывается из основного меню View>Show

Functions Palette, рис. 10.

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

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

Создание программы начните с окна редактирования диаграмм. Создайте прибор для инициализации очереди. Для этого на функциональной панели необходимо выбрать Programming>Synchronization>Queue Operation>Obtain Queue. Затем из Tools Palette выберите Connect Wire (катушка) и кликните правой кнопкой мыши на верхний вход прибора (max queue size), далее в появившемся контекстном меню выберите пункт create>control. Этот управляющий элемент также появится на интерфейсной панели, с помощью него будет задаваться количество пациентов, поступающих в поликлинику в день/час. Необходимо задать имя очереди. Для этого кликните правой кнопкой мыши на вход прибора name, затем выберите пункт создания константы create>constant, и в появившемся окошке введите имя очереди, например, 1. Также необходимо задать тип данных элемента — тип данных, которые должна содержать очередь. Для этого выберите Programming>Numeric>Numeric Constant (по умолчанию стоит «0») и подключите его к входу element data type. У Вас должен получиться прибор, как показан на рис. 11.

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

Очередь инициализирована. Далее необходимо определить порядок становления пациентов в очередь. Установите прибор Programming>Synchronization>Queue Operation>Enqueue Element и с помощью катушки соедините выходы queue out и error out из прибора Obtain queue к соответствующим входам прибора Enqueue Element. Так как пациент не один, необходима циклическая работа программы. Выберите из функциональной панели programming>structures>For Loop и выделите с помощью левой кнопки мыши прибор Enqueue Element. Чтобы пациенты становились в очередь по одному, перетяните «увеличение на 1» Programming>Numeric>increment. К входу x подключите значок «итерация цикла», а выход (x+1) пиктограммы подключите к входу Element прибора Enqueue Element. Пусть каждый пациент приходит в поликлинику через заданное время, например через 1 секунду. Для этого установите в цикл задержку. Выберите Programming>Timing>Wait (ms) и перетяните данную иконку в цикл. Создайте для нее константу, соответствующую этой задержке. Для этого подведите указатель в виде катушки к левой части иконки, нажмите правую кнопку мыши и выберете пункт создания константы Create>Constant. Чтобы количество итераций цикла было равно количеству пациентов, прибывающих в поликлинику, соедините выход управляющего элемента Numeric Control с пиктограммой N, как показано на рис. 12.

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

В поликлинике имеется регистратура, через которую проходит каждый пациент. Чтобы установить регистратуру, для начала установите цикл While Loop, programming>structures>While Loop. Чтобы прочитывать элементы из очереди, то есть обслуживать пациентов, поместите в цикл While Loop прибор Dequeue Element, Programming>Synchronization>Queue Operation>Dequeue Element. Чтобы видеть, сколько обслужено пациентов, создайте соответствующий индикатор для прибора Dequeue Element – правой кнопкой мыши щелкните на выходе приборе Element и выберите пункт constant>indicator. С помощью инструмента Edit Text из панели инструментов поменяйте имя индикатора на «Обслужено пациентов». Установите время обслуживания пациентов с помощью прибора задержки Wait (ms) и присваивания этому прибору константы с нужным временем. Нажмите правой кнопкой мыши на иконку условия выхода из цикла (красная пиктограмма в нижнем правом углу цикла) и в выпадающем меню выберите пункт создания константы, по умолчанию стоит F-«false», то есть цикл будет работать без остановки. Соедините только что созданный прибор с ранее созданной очередью, как показано на рис. 13.

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

Чтобы видеть, сколько пациентов в данный момент находятся в очереди, используйте прибор Get Queue Status, Programming>Synchronization>Queue Operation>Get Queue Status. Поместите его в цикл While Loop и соедините с очередью. Кликните правой кнопкой мыши на левый вход Return Elements? (F) прибора Get Queue Status и выберите пункт Create>Constant. Return Elements? – отображает, возвращены ли элементы в очередь. По умолчанию установлено значение false – функция не будет возвращать элементы в очередь. Чтобы поменять значение на trough, выберите инструмент Operate Value из панели инструментов и щелкните левой кнопкой мыши на соответствующей пиктограмме. Для выходов Elements и # Elements in queue, которые находятся снизу у прибора Get Queue Status, создайте индикаторы, как показано на рис. 14.

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

После того, как пациент обслужился в регистратуре (получил номерок), он отправляется к врачу. Соответственно, к врачу формируется новая очередь. Аналогично первой, создайте вторую очередь и дайте ей имя, например, 2. Поместите прибор Enqueue Element в цикл While Loop с Dequeue Element. Подключите выход Element прибора Dequeue Element к входу Element прибора Enqueue Element – то есть пациенты, обслуженные регистратурой, становятся в очередь к врачу. Создайте цикл с Dequeue Element, такой же, как для первой очереди и подключите его ко второй очереди. Чтобы видеть, сколько пациентов находится в данный момент в очереди к врачу, создайте точно такой же цикл с Get Queue Status, как и в первой очереди, и подключите его ко второй очереди.

Чтобы время поступления пациентов в очередь и время обслуживания пациентов можно было устанавливать на интерфейсной панели, поменяйте 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.

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

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

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

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

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

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

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

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

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

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

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

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

Реферат

По курсу «История и методология информатики и вычислительной техники»

на тему:

«LabVIEW. Возможности и перспективы развития»

2009

Содержание

Введение. 3

Виртуальный прибор. 9

Программный комплекс LabVIEW… 10

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

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

Широта применения. 14

Расширяющийся мир виртуальных приборов. 15

Сопутствующие продукты и технологии. 16

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

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

Библиотеки и Toolkit для анализа и обработки данных. 19

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

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

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

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

Литература. 23

Введение

Современные средства разработки прикладного программного обеспечения предоставляют широкий выбор инструментов, как для опытных программистов, так и для не искушенных в программировании пользователей. Эти средства позволяют создавать пользовательские программы непосредственно на стандартных языках программирования, например C/C++, Basic, а также с помощью специальных библиотек, являющихся основой ряда инструментальных программных средств. Пакеты для разработки прикладного программирования для систем автоматизации по своему основному назначению разделяются на две основные группы:

· пакеты программ labview, MeasurementStudio, LabWindows/CVI, Agilent VEE и т.п. ориентированы, в основном, на использование в системах автоматизации лабораторного эксперимента и испытаний, хотя могут применяться и при создании других приложений, не связанных со взаимодействием с измерительно-управляющим оборудованием;

· пакеты LabVIEW/DSC, Lookout, InTouch, «Трейс Моуд» предназначены для создания прикладного программного обеспечения в автоматизированных системах управления технологическими процессами (АСУТП) и промышленной автоматики (системы SCADA-SupervisoryControlAndDataAcquisition).

По способу программирования эти пакеты делятся на следующие:

· текстовые или текстово-графические (Pascal, Delphi, LabWindows/CVI, MeasurementStudio, VisualBasic, VisualC/C++), использующие элементы визуального текстового программирования для создания пользовательского интерфейса приложения и ориентированные в первую очередь на опытных программистов;

· графические объектно-ориентированные (InTouch, «Трейс Моуд»), основанные на применении графических образов объектов АСУТП в качестве элементов программирования;

· графические функционально-ориентированные (LabVIEW, LabVIEW/DSC, Agilent VEE), использующие функционально-логический принцип конструирования (рисования) и графического представления алгоритмов программ.

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

LabVIEW (LaboratoryVirtualInstrumentEngineeringWorkbench) позволяет разрабатывать прикладное программное обеспечение для организации взаимодействия с измерительной и управляющей аппаратурой, сбора, обработки и отображения информации и результатов расчетов, а также моделирования как отдельных объектов, так и автоматизированных систем в целом. Разработчиком LabVIEW является американская компания National Instruments.

В отличие от текстовых языков, таких как C, Pascal и др., где программы составляются в виде строк текста, в LabVIEW программы создаются в виде графических диаграмм, подобных обычным блок-схемам. Иногда можно создать приложение, вообще не прикасаясь к клавиатуре компьютера.

LabVIEW является открытой системой программирования и имеет встроенную поддержку всех применяемых в настоящее время программных интерфейсов, таких как Win32 DLL, COM.NET, DDE, сетевых протоколов на базе IP, DataSocket и др. В состав LabVIEW входят библиотеки управления различными аппаратными средствами и интерфейсами, такими как PCI, CompactPCI/PXI, VME, VXI, GPIB (КОП), PLC, VISA, системами технического зрения и др. Программные продукты, созданные с использованием LabVIEW, могут быть дополнены фрагментами, азработанными на традиционных языках программирования, например C/С++, Pascal, Basic, FORTRAN. И наоборот можно использовать модули, разработанные в LabVIEW в проектах, создаваемых в других системах программирования. Таким образом, LabVIEW позволяет разрабатывать практически любые приложения, взаимодействующие с любыми видами аппаратных средств, поддерживаемых операционной системой компьютера.

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

Несомненным достоинством LabVIEW является то, что разработчику и пользователю доступны функционально идентичные системы программирования для различных операционных систем, таких как Microsoft

Windows 95/98/NT/2000/XP, Linux, MacOS. Например программа разработанная под Windows будет почти без изменений работать на компьютере с Linux1.

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

· системы на базе ОС реального времени (ОСРВ) LabVIEW-RT;

· карманные компьютеры и другие устройства на базе ОС WindowsCE/PocketPC;

· карманные компьютеры и другие устройства на базе ОС PalmOS;

· многофункциональные программируемые устройства, например FPGA;

· сигнальные процессоры (DSP).

В основе технологии использования LabVIEW лежит комбинированное моделирование систем на ЭВМ, включающее аналитическое, имитационное и натурное.

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

Натурным моделированием называют проведение исследования на реальном объекте с возможностью вмешательства человека в процесс проведения эксперимента и последующей обработки результатов эксперимента на вычислительной технике.

Отличие модельного эксперимента от реального заключается в том, что в модельном эксперименте могут быть реализованы любые ситуации, в том числе «невозможные» и аварийные, что в силу разных причин бывает недопустимо при работе с реальными объектами. Все представленные виды моделирования могут быть реализованы с использованием системы программирования LabVIEW. LabVIEW может успешно применяться в образовательных и научных целях, при промышленной автоматизации, в проектных и коммерческих структурах, связанных с тестированием и измерением каких-либо параметров, их анализом, визуализацией результатов, созданием баз данных, использованием компьютерных сетей.

Система LabVIEW включает в себя:

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

· компилятор графического языка программирования «G»;

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

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

· развитую справочную систему;

· обширный набор программ-примеров с возможностью как тематического, так и алфавитного поиска.

Программирование в системе LabVIEW максимально приближено к понятию алгоритм. После того, как вы продумаете алгоритм работы своей будущей программы, вам останется лишь нарисовать блок-схему этого алгоритма с использованием графического языка программирования «G». Вам не потребуется думать о ячейках памяти, адресах, портах ввода-вывода, прерываниях и иных атрибутах системного программирования. Данные будут передаваться от блока к блоку по «проводам», обрабатываться, отображаться, сохраняться в соответствии с вашим алгоритмом. Мало того, сам поток данных будет управлять ходом выполнения вашей программы. Ядро LabVIEW может автоматически использовать эффективные современные вычислительные возможности, такие как многозадачность, многопоточность и т.п.

Процесс программирования в LabVIEW похож на сборку какой-либо модели из конструктора. Программист формирует пользовательский интерфейс программы – «мышкой» выбирает из наглядных палитр-меню нужные элементы (кнопки, регуляторы, графики.) и помещает их на рабочее поле программы. Аналогично «рисуется» алгоритм – из палитр-меню выбираются нужные подпрограммы, функции, конструкции программирования (циклы, условные конструкции и проч.). Затем также мышкой устанавливаются связи между элементами – создаются виртуальные провода, по которым данные будут следовать от источника к приемнику. Если при программировании случайно будет сделана ошибка, например какой-то провод будет подключен «не туда», то в большинстве случаев LabVIEW сразу обратит на это внимание программиста. После того, как алгоритм – блок-схема нарисован, программа готова к работе.

Помимо библиотек, входящих в состав комплекта поставки системы LabVIEW, существует множество дополнительно разработанных программ. Многие из них свободно доступны через Internet. Собственные разработки пользователей, накопленные в процессе работы, могут размещаться в новых библиотеках и могут быть многократно использованы в дальнейшем.

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

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

Виртуальный прибор

Виртуальные приборы (англ. VirtualInstrumentation) – концепция, в соответствии с которой организуются программно-управляемые системы сбора данных и управления техническими объектами и технологическими процессами.

Сущность: система организуется в виде программной модели некоторого реально существующего или гипотетического прибора, причём программно реализуются не только средства управления (рукоятки, кнопки, лампочки и т.п.), но и логика работы прибора. Связь программы с техническими объектами осуществляется через интерфейсные узлы, представляющие собой драйвера внешних устройств – АЦП, ЦАП, контроллеров промышленных интерфейсов и т.п.

Предшественницей концепции виртуальных приборов служила концепция слепых приборов, предусматривающая организацию системы в виде физического устройства («ящика», реализующего логику работы прибора, но не имеющего пользовательского интерфейса), и программно-реализуемых средств управления (представляющих собой HMI в чистом виде).

Концепция виртуальных приборов применяется в качестве базовой в таких продуктах, как:

· LabVIEW фирмы National Instruments (США) (http://www.natinst.com);

· DASYLab фирмы DATALOG GmbH (Германия) (http://www.dasylab.com);

· DIAdem фирмы GfSmbH (Германия).

В настоящее время торговые марки DASYLab и DiaDem также принадлежит NationalInstruments.

Программный комплекс 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). Суть его в том, что все элементы программы (которые представлены графически) связываются между собой связями (проводами, нитками) по которым и происходит передача данных. В общем, описать это довольно сложно, лучше посмотреть на картинку, рис. 3.

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

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

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

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

· Связи (Wires)

· Терминалы управляющих элементов (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 находит применение в самых разнообразных сферах человеческой деятельности. В соответствии со своим названием он первоначально использовался в исследовательских лабораториях, да и в настоящее время является наиболее популярным программным пакетом как в лабораториях фундаментальной науки (например, LawrenceLivermore, Argonne, Batelle, Sandia, JetPropulsionLaboratory, White Sands и Oak Ridge в США, CERN в Европе), так и в отраслевых промышленных лабораториях. Все более широкое применение LabVIEW находит в образовании, в университетских лабораторных практикумах – особенно по предметам электротехники, механики и физики.

Распространение LabVIEW за пределами лабораторий пошло по всем направлениям: вверх (на борту космических аппаратов), вниз (на подводных лодках) и по горизонтали (от буровых установок в Северном море до промышленных предприятий в Новой Зеландии). В связи с ростом возможностей Internet сфера применения LabVIEW стала расширяться не только в географическом, но и в виртуальном пространстве (cyberspace). Все большее число разработчиков создает виртуальные приборы, допускающие удаленное управление и наблюдение через Internet. Измерительные системы на основе виртуальных приборов отличаются своей многофункциональностью, гибкостью и низкой стоимостью как с точки зрения оборудования, так и с точки зрения затрат времени на разработку.

В настоящее время LabVIEW широко применяется в следующих сферах:

· Автомобильная промышленность

· Телекоммуникации

· Аэрокосмическая промышленность

· Полупроводниковая промышленность

· Разработка и производство электроники

· Управленией технологическими процессами

· Биомедицина

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

Расширяющийся мир виртуальных приборов

Пожалуй, лучшим способом объяснить причины столь широкого (можно сказать, лавинообразного) распространения пакета LabVIEW будет обобщение способов его использования. Во всех видах человеческой деятельности существуют области, где не обойтись без определенных видов измерений – очень часто это температурные измерения, например в печах, холодильниках, парниках, технологических помещениях и даже… в кастрюле с супом. Кроме температуры, часто измеряют давление, силу, пространственное смещение, механическое напряжение, рН и т.д. – список огромный! Сейчас персональные компьютеры проникли практически во все сферы жизнедеятельности. LabVIEW ускоряет внедрение компьютера в измерительные системы – и не только потому, что облегчает проведение измерений, он также дает возможность проанализировать измеренные величины, отобразить их на графиках и в отчетах и при желании опубликовать.

После измерения и анализа какой-либо величины следующим логическим шагом часто является управление, то есть изменение определенных параметров в зависимости от полученных результатов. Например, измерив температуру объекта, можно включить устройство для его охлаждения либо нагрева. И вновь LabVIEW значительно облегчает решение этой задачи: мониторинг и управление процессами являются основными функциями этого программного продукта. Управление процессами может быть прямым или осуществляется через специальные программируемые логические контроллеры (programmable logical controllers – PLC), что принято называть диспетчерским управлением и сбором данных (supervisory control and data acquisition – SCADA).

Сопутствующие продукты и технологии

BridgeVIEW – разновидность LabVIEW, позиционируемая как полноценная SCADA-система и предназначенная для работы в составе систем промышленной автоматизации (АСУ ТП). Ввиду отсутствия заметного коммерческого успеха, развитие системы прекращено.

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

LabWindows – продукт фирмы NationalInstruments, реализующий концепцию не графического, а визуального программирования. Лицевая панель виртуального прибора формируется так же, как и в LabVIEW, а алгоритм работы виртуального прибора программируется на языке Си. LabWindows позволяет создавать автономно выполняющиеся EXE-программы.

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

LabVIEW Base Package . Базовый пакет LabVIEW .

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

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

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

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

ProfessionalDevelopmentSystem включает все функции комплекта LabVIEWFullDevelopmentSystem, а также дополнительные инструменты для создания сложных приложений командой разработчиков и для пользователей, работающих с большим количеством ВП. Для создания отдельно исполняемых файлов и библиотек DLL в пакет входит программа LabVIEWApplicationBuilder. Управление исходными кодами, комплексные измерительные средства и графическое дифференцирование служат для отладки, оптимизации и контроля качества приложения. В комплект также включены пять лицензий на удаленное управление приложениями с помощью стандартного Интернет браузера.

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

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

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

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

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

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

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

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

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

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

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

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

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

Библиотеки и Toolkit для анализа и обработки данных

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

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

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

Простота создания и форматирования отчетов для MicrosoftWord и Excel; простые в использовании ВП и большое количество примеров отчетов.

LabVIEW Database Connectivity Toolset

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

Math Interface Toolkit

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

LabVIEW Enterprise Connectivity Toolset

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

LabVIEW Simulation Interface Toolkit

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

IVI Driver Toolkit

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

NI Industrial Automation OPC Servers

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

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

System Identification Toolkit

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

Control Design Toolkit

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

Simulation Module

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

LabVIEW Simulation Interface Toolkit

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

LabVIEW State Diagram Toolkit

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

LabVIEW PID Control Toolset

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

Литература

1. Н.А. Виноградова, Я.И. Листратов, Е.В. Свиридов.« Разработка прикладного программного обеспечения в среде LabVIEW». Учебное пособие – М.: Издательство МЭИ, 2005.

2. www.automationlabs.ru/

3. digital.ni.com/

4. www.labview.ru/

5. ru.wikipedia.org/

Министерство образования и науки
Российской Федерации

Федеральное государственное бюджетное
образовательное учреждение

высшего профессионального образования

ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ

им. М.Т. Калашникова

Факультет «Приборостроительный»

Кафедра «Приборы и методы контроля
качества»

Курсовая работа

Предмет «Специальные
методы контроля»

Метод акустической эмиссии в задачах исследования трещинообразования в среде LabView

Выполнил:
Студентка гр. 6-74-1

Лисина
А.Н._________ _________

(подпись)
13.06.2013

Проверил: к.т.н., доц. Пономарёва О.В.

_______________
_______________

(подпись)
13.06.2013

Ижевск, 2013

Оглавление

1Введение 3

2Программный комплекс для управления установкой 5

3Заключение 16

Список литературы. 18

  1. Введение

Термином
акустическая эмиссия (АЭ) обозначают
процессы излучения волн напряжений,
вызванных внутренними источниками,
расположенными в толще исследуемого
тела. Источниками АЭ могут быть процессы
возникновения и развития трещин под
влиянием внешней нагрузки, деформации
или разрушения материала, аллотропические
превращения при нагреве или охлаждении,
движение скоплений дислокаций.
Акустико-эмиссионный метод неразрушающего
контроля основан на излучении и
регистрации волн напряжений при быстрой
локальной перестройке структуры
материала, поэтому этот метод применяют
в качестве средства исследования
материалов, конструкций, контроля
изделий (например, при гидроиспытаниях)
и диагностики во время эксплуатации.
Его важным преимуществом перед другими
методами контроля является то, что он
реагирует только на развивающиеся,
действительно опасные дефекты, а также
возможность проверки больших участков,
или даже всего изделия, без сканирования
его преобразователем.

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

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

Рисунок 1 Обобщенная схема компьютеризированной
системы контроля состояния промышленного
объекта с помощью метода акустической
эмиссии.

На
рисунке 1 введены следующие обозначения:
1 — исследуемый образец; 2 — развивающийся
в образце дефект, являющийся источником
АЭ; 3 — датчики; 4 — центр обработки
акустических данных со всех каналов на
базе современной ЭВМ.

  1. Программный комплекс для управления установкой

Программный
комплекс предназначен для анализа
сигналов акустической эмиссии и
управления акустико-эмиссионной
установкой. Временная диаграмма работы
устройства отображена на рисунке 2.

Рисунок 2 Временная диаграмма работы
программы.

Средой
для разработки служит комплекс
программно-аппаратного обеспечения
компании National Instruments. Интерфейс
пользователя и программная часть
реализованы в среде программирования
NI LabView 7.1. Обработка данных осуществляется
при помощи платы ввода вывода NI-6014
совместно с устройством согласования
NI BNC-2110. Данный программно-аппаратный
комплекс рассчитан на работу с 8-ми
канальной установкой, реализующей
параллельный анализ акустических
сигналов в полосе от 0,1 до 1,2 МГц. Сигналы
регистрируется датчиком, состоящим из
пьезокерамического преобразователя,
схемы предварительного усилителя,
фильтра и компаратора, для ввода датчика
в режим имитации. Передача зарегистрированного
сигнала и питание предварительного
усилителя осуществляется через
коаксиальный кабель длиной до 15м.

Рисунок 3 Обобщенная схема обработки
данных в программе

При
разработке структуры программы (рис.3)
учитывались следующие факторы:

  1. Количество аналоговых и цифровых
    входов, которые необходимо обрабатывать
    в реальном времени;

  2. Количество управляющих цифровых
    сигналов, принцип формирования и
    управления ими;

  3. Последовательность обработки поступающих
    данных;

  4. Время, необходимое для считывание
    информации с платы ввода/вывода и время,
    необходимое для обработки данных;

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

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

Обобщенная
схема обработки программой поступающих
данных, содержит следующие ключевые
блоки:

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

  2. Блок «Коррекция АЧХ датчика» – в случае
    включения блока на всех частотах
    вводятся поправочные множители для
    корректировки влияния нелинейности
    передаточной функции системы
    «объект-преобразователь». АЧХ
    соответствующих систем берутся из
    общего банка данных;

  3. Блок «Нормирователь» предназначен для
    нормирования данных по максимальному
    значению усредненной спектральной
    функции входного сигнала;

  4. Блок «Обнаружитель» – пороговое
    устройство, предназначенное для
    обнаружения и идентификации сигналов
    АЭ по спектральным признакам. Выбор
    критериев для идентификации задается
    оператором;

  5. «Критерий АЭ-сигнала» – блок проверки
    соответствия параметров сигнала АЭ
    заданным условиям. Содержит банк данных
    для сигналов разного типа. Выбор
    критериев осуществляется оператором.

Рисунок 4 Лицевая панель виртуального
прибора.

Лицевая
панель пользователя показана на рис.4.
Центральное место на нем отводиться
графику, отображающему уровни сигнала
на каждом из каналов анализа системы
акустико-эмиссионного контроля. Остальное
пространство отведено для органов
управления, индикации и настройки. На
лицевой панели слева (рис.4) расположены
следующие элементы:

  1. Блок «Коэффициент усиления», влияющий
    на динамический диапазон системы;

  2. Блок «Параметры осей» показывающий
    текущие настройки масштаба по обеим
    осям;

  3. Блок «Представление графика», содержащий
    настройки способа представление
    информации на графике;

  4. Блок «Аппроксимирование», влияющий на
    способ сглаживания данных.

На
лицевой панели справа (рис. 3) расположены
следующие элементы:

  1. Управляющие кнопки;

  2. Индикаторы состояния;

  3. Блок «Обнаружитель», устанавливает
    порог срабатывания схемы обнаружения
    входного сигнала;

  4. Блок «Идентификатор» Проверяет сигнал
    на соответствие заданной области
    допустимых граничных значений по всем
    спектральным составляющим.

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

Рисунок 5 Создание файла коррекции АЧХ
датчика.

На
рис.5 показан пример создания такого
файла для 8-и канальной системы. Запись
сигналов осуществляется блоками по
количеству анализируемых каналов. При
воспроизведение программа отображает
количество блоков в файле и позволяет
перемещаться по ним в обоих направлениях.

Рисунок 6 Блок-диаграмма обработки
сигналов.

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

Рисунок 7 Подсистема обработки поступающих
данных

Поток
обработки данных (рис. 7) состоит из
следующих основных операций:

  1. Ввод оцифрованного сигнала

  2. Выбор динамического диапазона сигнала
    (рис. 8)

  3. Коррекция АЧХ датчика (рис. 9)

  4. Нормализация (рис. 10)

  5. Идентификация сигналов АЭ (рис. 11).

а)

б)

Рисунок 8 ВП «Поправочные множители
выбранного коэффициента усиления»: а)
значок ВП; б) блок-диаграмма.

а)
б)

Рисунок 9 ВП «Коррекция АЧХ датчика»:
а) значок ВП; б) блок-диаграмма.

а)
б)

Рисунок 10 ВП «Нормализация»: а) значок
ВП; б) блок-диаграмма.

а)
б)

Рисунок 11 ВП «Идентификация АЭ-сигнала
по критерию»: а) значок ВП; б) блок-диаграмма.

Рисунок 12 Подпрограмма обработки
событий.

Поток
обработки событий (рис. 12) выполняет
следующие действия:

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

  2. Обработки изменения состояния элемента
    управления «Критерий»;

  3. Обработка нажатия управляющих кнопок;

  4. Обработка изменения режима работы
    программы, возникающего при манипуляции
    с записанными АЭ-сигналами;

  5. Обработка событий, возникающих при
    изменении режима отображения информации
    на графике;

  6. Создание или изменение коэффициентов
    коррекции АЧХ датчика.

Рисунок 13 Настраиваемые свойства
визуального компонента XY Graph

Поток
изменения вида отображения информации
предназначен для изменения представления
графика с помощью основного визуального
компонента программы для отображения
данных «XY Graph». Достигается это за счет
применения ВП Property Node (рис. 13), в котором
настроены, необходимые свойства XY Graph.

Для
проверки работоспособности системы
необходимо сгенерировать образцовый
сигнал схожий по форме с сигналом АЭ.
Для этого была использована следующая
модель:


,

где

минимальная амплитуда сигнала, T —
интервал квантования,

время задержки до появления импульса,

— максимальная амплитуда сигнала,
,,
— продолжительность переднего фронта,
интервала постоянства и заднего фронта,
и
— константы. Данная модель является
сильно упрощенной, на практике форма
АЭ-сигналы зависит от структуры и формы
материала, положения источника,
характеристик преобразователя и д.р.

Вся
программа генерации сигнала разбита
на 3 блока выполняющихся последовательно.
Первый блок формирует массив отсчетов
дискретного времени на основе введенных
пользователем значений желаемого
времени анализа и частоты дискретизации,
второй блок вычисляет необходимые
коэффициенты и, наконец, третий вычисляет
значения функции
.
Сгенерированный сигнал записывается
в файл, и в дальнейшем через плату ввода
вывода National Instruments при необходимости
подается на устройство АЭ-анализа,
позволяя таким образом производить
тестирование всей системы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

С этим файлом связано 16 файл(ов). Среди них: делпрод практика 4.docx, делпрод практика 5.docx, практика 3 мен..docx, ОБЖ Практика 2.docx, ФИЗРА практика 4.docx, СТАТИСТИКА 1.docx, ИГиП задание 5.docx, практика 3.docx, ИГиП задание 4.docx, ИГиП задание 1.docx, ФИЗРА практика 5.docx, вопросы по лабвью.docx, 36-40.docx, лр3фону.docx, 1-5.docx, ДЗ 2 Фомнэ.docx и ещё 6 файл(а).
Показать все связанные файлы


Подборка по базе: методичка Разработка технологического процесса изготовления свар, ЛР2. Разработка ТЗ (1).docx, Презентация курсовая.pptx, основы рекламы курсовая БелыхРСО11.docx, 2.6. Разработка инструкций по ОТ.docx, картотека подвижных игр курсовая.docx, Проектирование и расчет МВСП Курсовая Дубровский А.С. СЖУ-829з.d, Курсовой проект — Проектирование и разработка информационной сис, Методическая разработка урока по английскому языку для системы С, Водоснабжение жилого дома курсовая.pdf


МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра РЭС

отчет

по практическому заданию

по дисциплине «Программирование в среде LabVIEW»

Тема: Разработка виртуального прибора

Вариант 9

Студент гр. 0 Херьянов K.В.
Преподаватель Воронова А.А.

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

2021

Цель работы.

Самостоятельная разработка виртуального прибора согласно индивидуальному заданию.
Исходные данные.

Вариант 9.

Виртуальный прибор (ВП) выполняет следующие действия:

1. Создает двумерный

целочисленный массив заданной размерности 10X7 (генерируется датчиком случайных чисел с заданным диапазоном значений 0..50).

2. Выполняет операцию поиска минимального элемента в 6 строке в массиве с помощью структуры Formula Node.

3. Эту же операцию над массивом выполняет с помощью функций, расположенных в Programming -> Array

4. Сравнивает полученные результаты.
Что должно визуализироваться на Front Panel в процессе работы ВП:

5. После запуска ВП на пустой Front Panel появляется диалоговое окно, в котором указана фамилия студента и краткое описание действий ВП.

6. После нажатия диалоговой кнопки ОК на Front Panel появляются созданный массив (область видимости элементов должна соответствовать размерности массива), результаты по пп. 2, 3 и новое диалоговое окно с предложением проверки результатов расчета.

7. По результатам п.4 ВП выполняет следующие действия:

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

– в противном случае в строковом индикаторе выводится сообщение о некорректной работе программы.
Внешний вид Front Panel разработанного прибора.

На рисунке 1 приведен внешний вид Front Panel разработанного ВП после запуска. Мы видим диалоговое окно, в котором указана фамилия студента и краткое описание действия ВП.

Рисунок 1 .
После нажатия диалоговой кнопки ОК появляются созданный массив 10X7, результаты по поиску минимального значения и новое диалоговое окно с предложением проверки результатов расчета. Это продемонстрированно на рисунке 2.

Рисунок 2 .
После нажатия кнопки “ОК” на экране остается массив, минимальные значения и добавляется строковый индикатор. Если результат сравнения верен, то в строковом индикаторе выводится сообщение об успешном выполнении расчетов и результат расчета обоими способами, в противном случае в строковом индикаторе выводится сообщение о некорректной работе программы. Это продемонстрированно на рисунке 3.

Рисунок 3 .
Рисунок Block Diagram, описание назначения элементов, структур и функций, используемых для реализации выполненного варианта.

На рисунке 4 приведен внешний вид Block Diagram разработанного виртуального прибора.


Рисунок 4 .
Block Diagram состоит из 5 кадров.

— В первом кадре я создал диалоговое окно и присвоил к ней константу – текст, который высвечивается при запуске ВП. Также в нем присвоил False свойствам Visible “Двумерный массив”, ”Проверка на равенство”, “Минимальное число c Array max&min”, “Минимальное число с Formula Nobe” так как на момент запуска их не должно быть видно.

— Во втором кадре я создаю двумерный массив с помощью структуры For Loop.

Внешний цикл for создает элементы строк, а внутренний цикл создает элементы столбцов. Также задаем значениям нужные нам границы умножением на крайнее, отличное от 0, число.

В третьем кадре я реализую вывод минимального значения 6-ой строки. В первом случае я с помощью Index Array выделяю 6 строчку присвоением константы 5 (т.к. отчет ведется от 0) и подаю ее на Array max&min. На выходе я получаю минимальное значение. Во втором случае я писал код, в котором происходил перебор и сравнения элементов 6 строки. В результате: вывод минимального значения.

— В четвертом кадре я присвоил True свойствам Visible “Двумерный массив”, “Минимальное число c Array max&min”, “Минимальное число с Formula Nobe” так как их нужно вывести на Front Panel.

— В пятом кадре я сравниваю значения “Минимальное число с Formula Nobe” со значением “Минимальное число c Array max&min” и вывожу на Front Panel сообщение об верном или неверном неравенстве.
Выводы.

В данном ВП я создал массив 10X7, который заполняется случайными числами в пределах 0-50. Ищет минимальные значения в 6 строке двумя способами и сравнивает их. Работая над этой ВП, я усвоил навыки, которые были получены при выполнении практических заданий 1-9.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *