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


Генерирование детерминированных процессов в среде LabVIEW

Содержание
Введение
1. Программный комплекс LabVIEW
2. Программирование, основанное напотоках данных
3. Генерирование детерминированныхпроцессов в среде LabVIEW
4. Генерация детерминированныхпроцессов
Заключение
Список литературы

Введение
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) позволяет разрабатыватьприкладное программное обеспечение для организации взаимодействия сизмерительной и управляющей аппаратурой, сбора, обработки и отображенияинформации и результатов расчетов, а также моделирования как отдельныхобъектов, так и автоматизированных систем в целом. Разработчиком 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 позволяет разрабатыватьпрактически любые приложения, взаимодействующие с любыми видами аппаратныхсредств, поддерживаемых операционной системой компьютера.

1. Программный комплексLabVIEW
LabVIEW(Laboratory Virtual Instrumentation Engineering Workbench) – это средаразработки и платформа для выполнения программ, созданных на графическом языкепрограммирования «G» фирмы National Instruments (США). Первая версия LabVIEWбыла выпущена в 1986 году для Apple Macintosh, в настоящее существуют версиидля UNIX, GNU/Linux, Mac OS и пр., а наиболее развитыми и популярными являютсяверсии для Microsoft Windows.
LabVIEW используется всистемах сбора и обработки данных, а также для управления техническимиобъектами и технологическими процессами. Идеологически LabVIEW очень близка к SCADA-системам, но в отличие от них в большей степениориентирована на решение задач не столько в области АСУ ТП, сколько в областиАСНИ./>
2. Программирование,основанное на потоках данных
Графическийязык программирования «G», используемый в LabVIEW, основан на архитектуре потоков данных.Последовательность выполнения операторов в таких языках определяется не порядкомих следования (как в императивных языках программирования), а наличием данныхна входах этих операторов. Операторы, не связанные по данным, выполняютсяпараллельно в произвольном порядке.
В основепрограммирования в LabVIEW лежит понятие Виртуальных приборов (VirtualInstruments, VI). На лицевой панели, как и положено, располагаются элементыуправления программой – кнопки, графики, выключатели и тому подобное.Блок-схема – это, по сути, и есть сама программа. При написании (а вернеесоздании, потому что писать приходится не так уж и много) программыиспользуется такое понятие, как «поток данных» (Data Flow). Суть его в том, чтовсе элементы программы (которые представлены графически) связываются междусобой связями (проводами, нитками) по которым и происходит передача данных. Вобщем, описать это довольно сложно, лучше посмотреть на картинку, рис. 1.
/>
Рис. 1.Простейший прибор.
Цифрамиобозначены:
· Точки,элементы программы (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-битный компилятор.
3. Генерированиедетерминированных процессов в среде LabVIEW
Среда разработкивиртуальных измерительных приборов LabVIEW (Laboratory Virtual Instrument Engineering Workbench) разработана фирмой National Instruments, лидером по производствуконтрольно-измерительной аппаратуры. Первая версия появилась в 1986 г. какрезультат поисков путей сокращения времени программирования измерительных приборов.Пакет быстро приобрел популярность и постоянно совершенствовался. В 2006 г.вышла его восьмая версия LabVIEW8.2 и в 2007 г. – LabVIEW 8.5. ПакетLabVIEW содержит полный набор приборов длясбора, обработки (анализа), представления и хранения данных.
В среде LabVIEW создается так называемый виртуальныйприбор (ВП) (Virtual Instrument – VI) – программный аналог реального физического прибора. Как иреальный прибор, ВП имеет лицевую панель, на которую выведены все органыуправления и индикации. Проектирование ВП сводится к разработке лицевой панелии блок-схемы программы. Для этого используются два окна: окно Front Panel (FP)для размещения лицевой панели и окно Block Diagram(BD) для размещения блок-схемы программы(рис. 2).

/>
/>
Рис. 2
Оба окна имеютстандартную форму Windows. В верхнейчасти каждого окна располагается полоса главного меню с названиями меню, как стандартнымидля Windows: File, Edit иHelp, так и специфическими для LabVIEW: Operate, Tools,Browse, Window, содержание которых будет раскрываться по меревыполнения лабораторных работ. Ниже полосы главного меню размещена полосаинструментальной панели, служащая для запуска, отладки и редактирования ВП.
Вывод на лицевую панельвсех элементов управления и индикации производится в активном окне FP с помощью палитры Controls (Управление) (рис. 3).
Палитра Controls вызывается щелчком правой кнопкимыши (ПКМ) в любом месте окна. Ее можно открыть также, выбрав Show Controls Palette в меню Window.Поиск нужного элемента осуществляется переходом в палитре на нижние уровни.Найденный элемент (точнее, его иконка) выделяется щелчком левой кнопки мыши(ЛКМ), переносится на FP ипомещается на ней еще одним щелчком ЛКМ (можно и по другому: нажать ЛКМ –перенести – отпустить ЛКМ). После выбора элемента палитра исчезает, если ее неприкрепить, щелкнув ЛКМ по значку кнопки в левом верхнем углу палитры.Одновременно с выводом на лицевую панель элемента управления или индикациипоявляется соответствующий ему функциональный элемент в окне BD.
/>
Рис. 3
Блок-схема программы ВПразмещается в окне BD. Онасоставляется из функциональных элементов (узлов) с помощью палитры Functions (Функции). Палитра Functions вызывается в активном окне BD щелчком ПКМ. Поиск нужных узлов иразмещение их в окне BDпроизводится так же, как и для палитры Controls. Соединение узлов между собойосуществляется с помощью инструмента /> - “катушка”.
Инструменты в LabVIEW обладают очень удобным свойством –изменяться в зависимости от того, к чему они подводятся. Достаточно подвестиуказатель мыши, каким бы он ни был, к терминалу узла, как он превращается в“катушку”, а терминал начинает мерцать. Нажатием ЛКМ осуществляетсяподсоединение к этому выводу. Далее при нажатой кнопке проводится линия до тойточки, с которой нужно соединить (она тоже должна мерцать при приближении“катушки”). Если линию нужно где-то зафиксировать, чтобы схема читалась лучше,то следует отпустить кнопку, снова нажать и продолжить соединение. Покасоединение не произведено, линия будет пунктирной. Если соединение произведеноправильно, то линия после отпускания ЛКМ примет вид и цвет, соответствующийтипу передаваемых данных. Для удаления линии связи нужно выделить ееинструментом /> – “стрелка” (щелчок ЛКМ длявыделения прямолинейного участка, двойной щелчок ЛКМ для выделения всей линии)и нажать клавишу Delete.
При разработке ВПтребуется многократно переходить от одного окна к другому. Это можно сделатьразными способами. 1) Через пункт Window главного меню. Например, при активном окне FP в ниспадающем меню Window нужно выбрать Show Block Diagram. 2) Через нижнюю строку, если доэтого окно было свернуто. 3) Двойным щелчком ЛКМ на элементе управления илииндикации в любом окне. Такой способ удобен, особенно, если нужно определитьрасположение элемента управления или индикации в другом окне, – элемент, покоторому щелкнули, будет выделен. Границы выделенного элемента мерцают.Выделение можно снять, щелкнув ЛКМ в любом свободном месте окна.
4. Генерациядетерминированных процессов
В пакете LabVIEW возможны три способа генерированиядетерминированных процессов:
— вычисление процесса поформуле,
— формирование процесса сиспользованием имеющихся в LabVIEWэлементарных функций
— использование имеющихсяв LabVIEW генераторов детерминированныхпроцессов.
Рассмотрим эти способыподробнее.Вычислениедетерминированного процесса по формуле. Для этого используется структура LabVIEW “Formula Node” (Формула). Внутри этойструктуры записывается формула по обычным для языка программирования высшегоуровня правилам. Формул может быть несколько, каждая из них должназаканчиваться знаком “;” (точка с запятой).
В данной лабораторнойработе ограничимся генерированием отрезка синусоидального процесса длиной в k периодов. Непрерывный процессзаписывается так:
Y = Asin(2πft + φ) = Asin(2πt/T + φ).
Перейдем к дискретномувремени, подставив в формулу t = iTд, где Тд – интервал дискретизации. Тогда
Y = Asin(2πiTд/T + φ) = Asin(2πi/N + φ),
где N = T/Tд – количество отсчетов за периодсинусоиды.
Изменяя i от 0 до N — 1, получим Nотсчетов синусоидального процесса за период синусоиды. Чтобы сгенерироватьсинусоидальный процесс длительностью k периодов, нужно увеличить верхний предел i до kN –  Приэтом в k раз увеличивается количествоотсчетов. Если нужно сохранить количество отсчетов на всю реализацию неизменнымпри изменении количества периодов k, то увеличивают интервал дискретизации. Для такого варианта
Y = Asin(2πki/N + φ).

Здесь N равно количеству отсчетов на всюреализацию синусоидального процесса, содержащего k периодов синусоиды.
Воспользуемся именно этойформулой. Так как размерность начальной фазы φ в этой формуле – радианы, азадавать фазу удобнее в градусах, то следует перейти от радианной меры кградусной.
Y = Asin(2πki/N+ φ0π/180).               ( 1)
Запись этой формулы вструктуре Formula Node показана на рис. 4.
/>
Рис. 4
Имена всех входных ивыходных переменных вводятся соответственно во входные и выходные терминалы.Терминалы образуются щелчком ПКМ на границе структуры в предполагаемом местетерминала и выбором команд Add Input (Добавить вход) или Add Output (Добавить выход). В появившемся зачерненномпрямоугольнике записывается имя переменной.
В структуре Formula Node рассчитывается только одно значение переменной Y при заданных входных переменных.Чтобы рассчитать все Nзначений при изменяющемся i,нужно использовать структуру For Loop (Цикл сфиксированным числом итераций). Она эквивалентна текстовому оператору: for i = 0 to N – 1 do На рис. 5 приведена схема генерации отрезка синусоиды совсеми элементами управления и индикации. Количество рассчитываемых значенийравно количеству циклов N,которое задается подачей на терминал числа итераций (прямоугольник с буквой N в левом верхнем углу структуры)соответствующего числа. Текущее число завершенных итераций цикла содержится втерминале счетчика итераций (прямоугольник с буквой i внизу слева).
 />
Рис. 5
В LabVIEW генерируемый процесс представляетсобой массив чисел. Поэтому выходной терминал структуры For Loop по умолчанию находится в состоянии формированиямассива Enable Indexing (Включить индексирование). При этомвыходной терминал имеет вид />. Если индексирование отключено (Disable Indexing), то на выходе будет последнеерассчитанное значение. Переключить состояние терминала можно, щелкнув по немуПКМ и выбрав соответствующую команду. Сформированный массив подается на другиеузлы только после завершения цикла.
Формирование процесса сиспользованием имеющихся в LabVIEWэлементарных функций. Для формирования процесса используется та же формула (1), только для выполнения математических операций сложения, вычитания,умножения, деления, а также нелинейных операций используются функциональныеузлы. Они находятся в подпалитре Numericпалитры Functions. Блок-схема программы, реализуемойтаким образом, показана на рис. 6.

/>
Рис. 6
Использование имеющихся вLabVIEW генераторов детерминированныхпроцессов. В LabVIEW имеется большой набор ВП,генерирующих различные детерминированные процессы. Их можно разделить на тригруппы, различающиеся представлением выходного процесса и заданием егопараметров. Это группы: Pattern(отрезок, образчик, шаблон), Wave(колебание, волна) и Waveform (сигнал, осциллограмма). Рассмотрим генераторы синусоидальных процессов.
ВП Sine Pattern (рис. 7) генерирует массив Sinusoidal Pattern, содержащий отрезок синусоидального сигнала. На рисункеприведены названия терминалов ВП и тип данных, подаваемых на терминалы.
/>
Рис. 7
Значения массиварассчитываются по формуле (1). Массив задается следующими параметрами:
samples (выборки) – количество отсчетов навесь процесс (количество элементов в массиве) – N. Обозначение I32означает, что это число целое, 32 бита;
amplitude (амплитуда) – амплитуда синусоиды –А. (DBL означает действительное числодвойной точности);
phase (degrees) (фаза в градусах) – начальная фаза – φ0;
cycles (циклы) – количество периодовотрезка синусоиды – k.
ВП Sine Wave (рис. 8) генерирует массив sine wave, представляющий синусоидальное колебание. Значениямассива рассчитываются по формуле
U = Asin(2πfi + φ0π/180).
/>
Рис. 8
По сравнению с предыдущимВП по другому задается частота и начальная фаза.
Frequency (частота) – выражается вотносительных единицах как величина, обратная количеству отсчетов на период: f = k/N.
Reset phase (сбросить фазу) – логический вход, определяющийначальную фазу выходного процесса. По умолчанию на этом входе установленосостояние ИСТИНА. При этом начальная фаза синусоиды устанавливается равнойзначению на входе phase in (вход фазы). Если на входе Reset phase установить состояние ЛОЖЬ, то начальная фазаустанавливается равной значению фазы на выходе phase out (выход фазы) при последнем выполнении этого ВП.
На входы samples, amplitude – подается то же, что и в предыдущемВП.
ВП Sine Waveform (рис. 9) генерирует кластер signal out, в котором вместе с массивом синусоидального сигналасодержится информация о частоте сигнала (временной шкале).
Выходной кластер задаетсяследующими параметрами.
Offset (смещение) – постоянная составляющаясигнала.
/>
Рис. 9
Reset signal (сбросить сигнал) – в состоянии ИСТИНА устанавливаетначальную фазу синусоидального колебания равной значению на входе phase и сбрасывает отметку времени в 0. Поумолчанию на этом входе установлено значение ЛОЖЬ.
Frequency (частота) – определяет частотусинусоидального колебания в Гц.
Amplitude – амплитуда.
Phase – определяет начальную фазусинусоидального колебания в градусах. По умолчанию значение равно 0.
Sampling info (информация о выборках) – кластер, содержащийследующую информацию о выборках: частота выборок Fs, равная числу выборок в секунду; поумолчанию значение равно 1000; число выборок в осциллограмме #s; по умолчанию число равно 1000.
Для визуальногонаблюдения генерируемых процессов используется ВП графический индикатор Graph. Если на его вход подается массив,то развертка осуществляется по элементам массива. Можно просмотреть несколькопроцессов одного типа, предварительно объединив их. Например, если онипредставлены массивами, то используется функция Build Array (объединить массивы). Объединять различные типыданных, например, массив и кластер, нельзя.
программированиеданные генерирование массив

Заключение
LabVIEWобладает огромным арсеналом достоинств, таких как полноценный языкпрограммирования, интуитивно понятный процесс графического программирования,широкие возможности сбора, обработки и анализа данных, управления приборами,генерации отчетов и обмена данных через сетевые интерфейсы.
Вместе с тем LabVIEW – очень простая и интуитивно понятнаясистема. Неискушённый пользователь, не являясь программистом, за сравнительнокороткое время (от нескольких минут до нескольких часов) способен создатьсложную программу для сбора данных и управления объектами, обладающую красивыми удобным человеко-машинным интерфейсом. Например, средствами LabVIEW можнобыстро превратить старый компьютер, снабжённый звуковой картой, в мощнуюизмерительную лабораторию.
Специальный компонент LabVIEW – Application Builder, позволяетвыполнять LabVIEW-программы на тех компьютерах, на которых не установленаполная среда разработки.

Список литературы
1.  Н.А. Виноградова, Я.И. Листратов,Е.В. Свиридов. «Разработка прикладного программного обеспечения в средеLabVIEW». Учебное пособие – М.: Издательство МЭИ, 2005.
2.  www.automationlabs.ru/
3.  digital.ni.com/
4.  www.labview.ru/
5.  ru.wikipedia.org/


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

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

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

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