Реферат по предмету "Информатика, программирование"


Среда разработки и платформа для выполнения программ 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 лежит понятие Виртуальных приборов (VirtualInstruments, 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 WebServer и различные стандартные протоколы и средства, такие как TCP/IP иActiveX.
ИспользуяLabVIEW, можно создавать приложения для тестирования и измерений, сбора данных,управления различными внешними устройствами, генерации отчетов. Так же можносоздать независимые исполняемые файлы и библиотеки функций, такие как DLL, таккак LabVIEW — это полноценный 32-битный компилятор.
ДостоинстваLabVIEW:
·         полноценный язык программирования;
·         интуитивно понятный процесс графического программирования;
·         широкие возможности сбора, обработки и анализа данных, управленияприборами, генерации отчетов и обмена данных через сетевые интерфейсы;
·         драйверная поддержка более 2000 приборов;
·         возможности интерактивной генерации кода;
·         шаблоны приложений, тысячи примеров;
·         высокая скорость выполнения откомпилированных программ;
·         совместимость с операционными системами Windows2000/NT/XP, Mac OSX, 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>QueueOperation>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>QueueOperation>Enqueue Element и с помощью катушки соедините выходы queueout и error out из прибора Obtain queue к соответствующимвходам прибора Enqueue Element. Так как пациент не один, необходимациклическая работа программы. Выберите из функциональной панели programming>structures>ForLoop и выделите с помощью левой кнопки мыши прибор 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>QueueOperation>Dequeue Element. Чтобы видеть, сколько обслужено пациентов,создайте соответствующий индикатор для прибора Dequeue Element – правойкнопкой мыши щелкните на выходе приборе Element и выберите пункт constant>indicator.С помощью инструмента Edit Text из панели инструментов поменяйте имяиндикатора на «Обслужено пациентов».Установите время обслуживанияпациентов с помощью прибора задержки Wait (ms) и присваивания этомуприбору константы с нужным временем. Нажмите правой кнопкой мыши на иконкуусловия выхода из цикла (красная пиктограмма в нижнем правом углу цикла) и ввыпадающем меню выберите пункт создания константы, по умолчанию стоитF-«false», то есть цикл будет работать без остановки. Соедините только чтосозданный прибор с ранее созданной очередью, как показано на рис. 13.

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

/>
Рис. 14.Количество элементов в очереди
После того,как пациент обслужился в регистратуре (получил номерок), он отправляется кврачу. Соответственно, к врачу формируется новая очередь. Аналогично первой,создайте вторую очередь и дайте ей имя, например, 2. Поместите прибор EnqueueElement в цикл While Loop с Dequeue Element. Подключите выходElement прибораDequeue Element к входу Element прибора EnqueueElement – то есть пациенты, обслуженные регистратурой, становятся в очередьк врачу. Создайте цикл с Dequeue Element, такой же, как для первойочереди и подключите его ко второй очереди. Чтобы видеть, сколько пациентовнаходится в данный момент в очереди к врачу, создайте точно такой же цикл с GetQueue Status, как и в первой очереди, и подключите его ко второй очереди.
Чтобы времяпоступления пациентов в очередь и время обслуживания пациентов можно былоустанавливать на интерфейсной панели, поменяйте constant у приборовзадержки Wait (ms) на Control. Для этого кликните правой кнопкоймыши на константу и выберите Change to Control. Чтобы время задавалось всекундах, вставьте между управляющей пиктограммой и прибором Wait (ms) множитель(Programming>Numeric>Multiply) на 1000. В цикле с DequeueElement необходима последовательность действий для правильной работы.Выберите Programming>Structure>Flat Sequence, поместите прибор DequeueElement и прибор Wait (ms) внутрь Flat Sequence. Кликните награнице Flat Sequence правой кнопкой мыши, и выберите Add Frame ипоместите во второй фрейм индикатор «обслужено пациентов». У Вас получитсяпрограмма, как на рисунке 15.
/>
Рис. 15.Модель СМО
Наинтерфейсной панели выделите индикатор Пациенты и растяните его внизтак, чтобы появилось несколько индикаторов. Кликните правой кнопкой мыши ивыберите Visible Items>Unit Label. Для удобства восприятия наинтерфейсной панели разместите управляющие элементы и индикаторы, относящиеся крегистратуре в одно окно, например, на панели управления выберите Controls>Modern>Decorations>RaisedFrame, а относящиеся к врачу, в другое. В итоге должна получитьсяпрограмма, как на рис.16.
Проверьтепрограмму на работоспособность. Для этого установите время обслуживанияпациентов в регистратуре и у врача, задайте необходимое количество пациентов ивремя пребывания пациента в очередь.
/>
Рис. 16.Интерфейс программы.
Методическиеуказания к выполнению лабораторной работы
 
1)        На основе описания системы выявить её исходные характеристики(интенсивность входного потока, время обслуживания, длина очереди,интенсивность обслуживания).
2)        Создать модель СМО в среде (“LabView”).
3)        Оценить характеристики этой модели.
4)        Оценить соответствие характеристик накладываемым ограничениям наисходную систему.
5)        Выбрать способ модификации модели СМО для удовлетворенияограничениям.
6)        Оценить характеристики полученной модели.
7)        Внести адекватные изменения в исходную систему.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.