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



 

2.2 Содержание работы

2.2.1. Использование CASE-структуры в создаваемых приложениях.

2.2.2. Применение цикла типа For-Do в своих программах.

2.2.3. Изменение свойства графического элемента управления "Кнопка".

2.2.4. Обрабатывание нажатия кнопок.

2.2.5. Использование редактора формул для написания кода программы.

2.2.6. Создание подпрограммы и сохранение их в виде отдельного виртуального инструмента.

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

2.2.8. Изменение свойства подпрограммы и сохранение их в виде отдельных файлов или в составе библиотеки.

2.2.9. Использование созданную подпрограмму в других приложениях.

 

Основные теоретические сведения

В LabVIEW реализовано шесть вариантов реакций на нажатие кнопки: Switch When Pressed (Реагирует на нажатие); Switch When Released (Реагирует на отжатие); Switch Until Released (Реагирует на нажатие и отжатие); Latch When Pressed (Изменяет управляемое значение при нажатии и обеспечивает автовозврат не раньше, чем произойдет чтение в программе); Latch When Released (Изменяет управляемое значение только после отпускания кнопки и обеспечивает автовозврат); Latch Until Released (Изменяет управляемое значение при нажатии и обеспечивает автовозврат не раньше, чем произойдет чтение в программе или будет отпущена кнопка). LabVIEW – это иконизированное представ­ление какого-либо алгоритма со своим графическим ин­терфейсом или без него. Создание подпрограммы по сво­ей сути не будет отличаться от написания программ, составленных ранее.

 

Порядок выполнения работы

2.4.1 Создадим элементарную программу, которая позволит, в зависи­мости от положения тумблера, получать различный результат вычислений. Если тумблер находится в выключенном состоя­нии, то значение входного параметра будет умножаться на 10, а в противном случае - меняться не будет.

Приступим к реализации задачи. Создадим новый VI.Формируем на панели графический интерфейс (рис. 23)

 

 

 

 

Рисунок 23 – Графический интерфейс

 

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

Теперь реализуем условный алгоритм. Переходим в окно редактирования диаграмм. Устанавливаем в это окно CASE структуру, которая находится в Functions >> Structures >> Case. Изменяем ее размеры. Заметим, что по умолчанию состояние определено как True (истина). Соединяем элементы диаграммы как показано на рисунке 24.

 

 

 

Рисунок 24 – Последовательность соединения элементов диаграммы

 

Переключаем режим CASE-структуры на False (ложь). Для этого необходимо подвести указатель мыши к одной из стрелок структуры (левая/правая) и  нажать левую кнопку. Состояние изменится. Согласно заданию реализуем алгоритм умножения значения входного параметра на 10. Для этого необходи­мо установить необходимые компоненты в окно редакти­рования диаграмм и соединить их (рис. 25).

 

Рисунок 25 – Окно редактирования диаграмм

 

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

 

2.4.2  Напишем программу, которая генерирует последовательность случайных чисел и выводит их в виде графика. Кроме того, по однократному нажатию на кнопку должна производиться запись выборки чисел. Графический интерфейс должен включать, как необходи­мый и достаточный минимум, три графических объекта: окно отображения графика, кнопку записи данных на диск и кнопку останова выполнения программы. В результате, должна визуально получиться похожая "лицевая" часть программы (рис. 26):

 

Рисунок 26 – Пример «лицевой» части программы

 

В процессе выполнения задания воспользуемся дополнительными функциями, связанными с нажатием на интерфейсные кнопки/переключатели. Речь идет о реакции (поведении) кнопки на нажатие, т.е. возвращается ли кнопка после нажатия в исходное состояние или же остается в нажатом состоянии и т.д.

В нашей программе нужно установить для обеих кнопок такие опции реакции на нажатие, чтобы кнопки возвращались в предыдущее положение. Если этого не сделать для первой кнопки (записи данных на диск), то после нажатия на кнопку во время работы программы, будет циклически "выскакивать" меню записи файла на диск, т.е. в результате по­лучится, что осуществить остановку программы будет невозможно. Для реализации этого небольшого нововведения необходимо подвести указатель мыши к одной из кнопок и нажать правую кнопку мыши. В выпадающем меню выбрать Mechanical Action, а в нем Latch When Released

Такую же операцию можно проделать и для кнопки остановки.

Теперь остается реализовать алгоритм программы. В результате получим следующую диаграмму (рис. 27):

 

 

 

Рисунок 27 – Диаграмма, полученная при реализации алгоритма программы

 

Из приведенных состояний программы видно, что генерируются выборки случайных чисел (по 100 значений в каждой), результат выводится в виде графика, а запись осуществляется посредством нажатия на кнопку. Следует отметить, что реализация CASE-структуры выполнена так, что при нажатии (т.е. когда условие "Тrue"), вызывается диалоговое меню записи файла на диск и осуществляется запись данных. Если же условие "False", то запись не происходит.

В некоторых ситуациях обычная синтаксическая запись выражения гораздо более удобна и выглядит нагляднее, чем эквивалентная графическая диаграмма. Особенно это актуально при написании математических вы­ражений, вычисляемых по определенной формуле. Для этой цели в LabVIEW существует механизм Formula Node (Формульный узел или Редактор Формул). Formula Node относится к еще одной разновидности структур. Поэтому он находится в (Functions) >> Structures >> Formula Node.

2.4.3 Напишем новую программу, которая будет строить гра­фическую зависимость амплитуды от текущего значения переменной цикла. Редактор формул должен будет реализовывать следующую зависимость:

Результат = Амплитуда * SIN (Константа * Текущее значение переменной цикла)

 

Установим Formula Node в окно редактирования ди­аграмм. Для того чтобы можно было использовать этот "черный квадрат", нужно подвести указа­тель мыши к левой стороне пря­моугольника и нажать правую кноп­ку мыши.

В выпадающем меню выбрать опцию Add Input, кото­рая добавляет входной параметр узла. Ввести имя входного пара­метра "Амплитуда" (только ла­тинские символы), например, Ampl.

Аналогично добавляем еще один входной параметр, соответствующий перемен­ной цикла. Называем его i. Для добавления выход­ного параметра необхо­димо нажать правой кла­вишей мыши на правой стороне рамки редактора формул, выбрать опцию Add Output и ввести имя выходного параметра у. Чтобы ввести формулу, необходимо сначала переключиться в режим редактирования текста: Tools >> Edit Text, затем установить курсор внутрь окна редактора формул и ввести ее. Для размещения форму­лы в середине окна редактора формул нужно перед пер­вым символом нажать несколько раз Enter

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

Графический интерфейс составьте по своему усмотрению. Запускаем программу на исполнение.

 

2.4.3 Усвоив принципы использования редактора формул, составим программу генерации последо­вательности случай­ных чисел. Синтакси­ческие конструкции, которые используется в таких блоках, поза­имствованы из языка Си, что упрощает их понимание и исполь­зование.

Из приведенной ниже графической диаграммы вид­но, что синтаксис записи редактора формул очень похож на код языка Си (рис. 28). Во фрагменте программы использованы комментарии, объявления переменной и массива, а также тело самой программы.

 

 

 

Рисунок 28 – Синтаксис записи редактора формул

 

Пара­метрами редактора формул могут быть не только пере­менные или константы, но и другие типы данных, напри­мер, как в данном случае - массив. Написав такую программу и запустив ее на выполне­ние, получим сгенерированную последовательность из 100 случайных чисел

2.4.4 Составим подпрограмму (графическую диаграмму и интерфейс) как показано на приведенных ниже рисунках 29 и 30:

Рисунок 29 – Графическая диаграмма

Рисунок 30 – Графический интерфейс

 

Входными параметрами в примере являются четыре действительных числа, три из которых - основные параметры, а четвертый - множитель. Каждое входное значение умножается на множитель, полученные значе­ния усредняются, т.е. суммируются и делятся на три. Даль­ше осуществляется элементарная проверка. Если получае­мое значение больше чем 0.5, тогда "зажигается" лампоч­ка индикатора (значение "true").

 

2.4.5 Теперь создадим уникальную графичес­кую иконку для подпрограммы. Для реа­лизации этого необходимо подвести указатель мыши к установленной по умолчанию иконке в правом верхнем углу интерфейсной панели и сделать двойной щелчок левой клавишей мыши. Появится графический редактор иконок со стандартным набором инструментов для создания желаемого образа. Нажав ОК, увидим, что икон­ка в правом верх­нем углу изменит­ся на желаемую (рис. 31).

 

 

Рисунок 31 – Вид измененной иконки

 

Установим соответствие между функци­ональными элементами программы и выводами иконки. Для этого необходимо подвести указатель мыши к изображению иконки в правом верхнем углу интер­фейсной панели, и нажать правую клавишу мыши. В выпадающем меню следует выбрать опцию Show Connector. После этого действия иконка изменится и появится несколько, в данном случае шесть, клеток (клемм), которые и будут соответствовать шести параметрам подпрограм­мы (4-входных и 2-выходных). Чтобы установить со­ответствие параметров подпрограммы выводам коннекто­ров, необходимо произвести следу­ющие операции. Подвести указатель мыши в виде соеди­нительной катушки к первому контакту на иконке коннек­тора и нажать левую клавишу мыши. Активная клеточка подсветится. Далее следует подвести указатель к первому параметру подпрограммы, а именно «х», и нажать левую клавишу мыши. Цвет клеточки изменится. Для остальных параметров следует проделать аналогичную операцию, последовательно устанавливая соответствия между графическими элементами и клемма­ми иконки коннектора. Следует отметить, что цвет клеммы зависит от типа данных элемента. Так, если элемент принимает значения действительного типа, то клемма будет оранжевая, если же это булевый тип - то зеленая. Т.е., каким цветом отоб­ражаются эти элементы в окне редактирования диаграмм, такого же цвета и клеммы.

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

Следующим шагом будет сохранение нашей подп­рограммы в библиотеке. Библиотека LabVIEW представ­ляет собой составной файл, в котором находятся несколь­ко различных виртуальных инструментов (как правило, объединенных тематически).

Выбрать в меню File опцию Save As… В появившем­ся меню нужно выбрать желаемую директорию и нажать кнопку New VI Library. Далее следует ввести имя библио­теки, например "ourlib". Потом следует ввести имя самой подпрограммы, например "subsin".

2.4.6 Теперь перейдем к созданию главной программы, в которой будет использоваться написанная подпрог­рамма. Есть несколько способов вызова иконки подпрограм­мы в окно редактирования диаграмм:

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

Второй способ - перейдя в окно редактирования диаграмм, в функциональной (Functions) пане­ли необходимо выбрать Select a VI.В появившемся диалоговом окне выбираем созданную ранее библиотеку ourlib. В появившемся окне необходимо выбрать subsinи установить иконку в произвольное место окна редактирования диаграмм

Составьте графическую диаграмму, как показано на рисунке 32.

 

Рисунок 32 – Графическая диаграмма

 

Суть программы состоит в том, что на входы подпрограмм подаются случайные числа от четырех источников. Далее они обрабатываются и анализируются в соответствии с диаграммой. Результат выводится в виде графической зависимости. Условием завершения программы является превышение выходным параметром значения 0,8.

 

Задания

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

2.5.2 Пояснить алгоритм работы последней программы.

2.5.3 Изменить и зафиксировать значения параметров, когда отсутствуют оба сигнала, передать значение в Excel.

2.5.4 Изменить и зафиксировать значения параметров, когда отсутствует Сигнал1, передать значение в Excel.

2.5.5 Изменить и зафиксировать значения параметров, когда отсутствует Сигнал2, передать значение в Excel.

2.5.6 Изменить и зафиксировать значения параметров, когда присутствуют оба сигнала, передать значение в Excel

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

 

Контрольные вопросы

2.6.1 Перечислите основные варианты реакций на нажатие кнопки в среде Lab VIEW. Опишите реакции.

2.6.2  Для чего в Lab VIEW необходимы дополнительные функции связанные

с нажатием кнопки?

2.6.3 Какое действие происходит при реализации CASE-структуры, если условием является «True»?

2.6.4  Какое действие происходит при реализации CASE-структуры, если условием является «False»?

2.6.5  Каким образом устанавливаются соответствия между функциональными элементами программы и выводами иконок?

2.6.6  Какую функцию выполняет опция «Show Connector»?

2.6.7  Отчего зависит цвет клеммы? Что означают данные цвета?

2.6.8  Что собой представляет библиотека Lab VIEW. назовите её основные функции.

2.6.9  Назовите способы вызова иконок подпрограмм в окно редактирования диаграмм. Какой из способов является универсальным и почему?

 

2.7 Содержание отчета

2.7.1 Цель работы.

2.7.2 Описание экспериментов.

2.7.3 Выполненные задания.

2.7.4 Ответы на контрольные вопросы.

2.7.5 Выводы по работе.

Список используемой литературы

2.8.1 Блюм Питер. LabVIEW. Стиль программирования.- М: ДМК Пресс, 2008.- 400 с.

2.8.2 Федосов В. П., Нестеренко А. К. Цифровая обработка сигналов в LabVIEW. – М: ДМК Пресс, 2007. – 256 с.

2.8.3. Джеффри Тревис LabVIEW для всех.М.: ДМК пресс, ПриборКомплект, 2005. – 544 с.

2.8.4. Визильтер Ю. В., Желтов С. Ю., Князь В. А., Ходарев А. Н. Обработка и анализ цифровых изображений с примерами на LabVIEW и IMAQ Vision. М.: ДМК пресс, ПриборКомплект, 2008. – 464 с.

2.8.5. Суранов А. Я. LabVIEW 8.20 Справочник по функциям. М.: ДМК пресс, ПриборКомплект, 2007. – 536 с.

2.8.6. Бутырин П. А., Васьковская Т. А., Каратаев В. В., Материнкин С. В.

Автоматизация физических исследований и эксперимента: компьютерные измерения и виртуальные приборы на основе LabVIEW 7. М.: ДМК пресс, ПриборКомплект, 2007. – 264 с.

2.8.7. Кучерявский С.В., Суранов А.Я. Основы сетевых технологий. Создание сетевых приложений в среде LabVIEW. Изд-во Алтайского ун-та , 2005. – 49 с.

 

 

Лабораторная работа №3


Дата добавления: 2018-05-12; просмотров: 458; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!