Научиться создавать программы, преобразовывать в подпрограммы и научиться использовать подпрограммы в других приложениях.
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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!