Изучение принципов создания программ
Nbsp; ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО РЫБОЛОВСТВУ ФГБОУ ВПО «АСТРАХАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И КОММУНИКАЦИЙ
КАФЕДРА «СВЯЗЬ»
МЕТОДЫ МОДЕЛИРОВАНИЯ В ОБЛАСТИ ИНФОКОММУНИКАЦИЙ
Методические указания по лабораторным работам для магистрантов обучающихся по направлению 210700 «Инфокоммуникационные технологии и системы связи»
Астрахань 2013
УДК 621.397.74
Методические указания к проведению лабораторных работ по дисциплине «Методы моделирования в области инфокоммуникаций» для магистрантов, обучающихся по направлению 210700 «Инфокоммуникационные технологии и системы связи». - Астрахань: АГТУ.– 2013. - 64 с.
Авторы: к.т.н., доцент Барабанова Е.А., к.т.н., доцент Мальцева Н. С.
Рецензент: к.т.н., доцент Сорокин А.А.
Методические указания содержат материалы для изучения функциональных возможностей программы LabView, получения практических навыков создания простейших приложения на программном комплексе LabView, работы с виртуальными проборами, создания модулей для обмена данными по протоколам UDP и TCP.
Методические указания утверждены на заседании кафедры «Связь» от
« 30 » октября 2013г., протокол № 11.
Содержание
Лабораторная работа №1.................................................................. 4
Лабораторная работа №2................................................................ 35
|
|
Лабораторная работа №3................................................................ 48
Лабораторная работа №4................................................................ 56
Лабораторная работа №1
Изучение функциональных возможностей программы LabView.
Цель
Научиться основам работы в программе LabView. Получить практические навыки создания простейших приложения на программном комплексе LabView
1.2 Содержание работы
1.2.1. Изучить основные теоретические аспекты пакета LabView.
1.2.2. Ознакомиться с функциями, клавишами и командами LabView.
1.2.3. Иметь представление о средствах отладки приложений LabVIEW.
1.2.4. Cоздать первое приложение.
1.2.5. Освоить технологию графического программирования.
1.2.6. Научиться изменять и редактировать свойства графических элементов управления и индикации.
1.2.7. Использовать циклы типа While-Do и For-Loop в теле программы.
1.2.8. Сгенерировать массив данных и познакомиться с последовательностью действий по организации файлового сохранения полученных данных на диске.
1.3 Основные теоретические сведения
LabVIEW — язык графического программирования, в котором для создания приложений используются графические образы (иконки) вместо традиционного текстового кода. Все действия сводятся к простому построению структурной схемы приложения в интерактивной графической системе с набором всех необходимых библиотечных образов, из которых собираются объекты, называемые Виртуальными Инструментами (VI) или Виртуальными Приборами (ВП).
|
|
Процесс освоения LabVIEW существенно облегчается благодаря наличию интерактивной обучающей системы, разветвленной контекстно-зависимой помощи и множества примеров использования приемов программирования.
После запуска LabVIEW открывается первое диалоговое окно, которое предлагает создать новую программу (New VI), открыть уже существующий проект (OpenVI), загрузить примеры (Find Examples), запустить интерактивную утилиту для конфигурирования устройств сбора данных и их связи с VI (DAQ Solutions) или вызвать обучающую систему базовым приемам программирования (LabVIEW Tutorial). После выбора опции меню по созданию нового VI раскрываются два окна: интерфейсная панель (Front Panel) и окно редактирования диаграмм (Block Diagram), которое по своей сути является программой в графическом виде.
Интерфейсная панель - это интерфейс пользователя. На интерфейсную панель устанавливаются графические элементы управления и всевозможные индикаторные приборы, которые являются соответственно элементами ввода и вывода. Элементы управления это ручки, регуляторы, ползунковые устройства, кнопки и другие устройства ввода. Индикаторы — это элементы для вывода/построения графиков, сигнализирующие устройства, такие, как лампочки и т.д.
|
|
Установленные на переднюю панель элементы управления и индикаторы, отображаются соответствующими иконками (терминалами) во втором окне редактирования диаграмм. Т.е. каждому установленному элементу на интерфейсной панели соответствует иконка в окне редактирования. В этом окне и "пишется" программа - создается графический код VI. Удалив, например, управляющий элемент в интерфейсном окне, исчезнет и соответствующая иконка (терминал) в окне редактирования диаграмм.
Иконки или терминалы показывают тип данных элементов управления или индикаторов. Например, DBL терминал, показывает, что элемент управления или индикатор представлен числом с плавающей точкой двойной точности. Терминалы осуществляют связь между интерфейсной панелью и диаграммой.
Функции — это объекты окна редактирования диаграмм, которые могут иметь один и/или несколько входов и/или выходов. Функции LabVIEW аналогичны выражениям, операторам, процедурам и функциям текстовых языков программирования.
|
|
Связи — это соединительные линии между иконками (терминалами). Они являются аналогом переменных в обычных языках программирования. Данные могут передаваться только в одном направлении от терминала источника к одному или нескольким терминалам приемникам.
Различный вид и цвет соединений соответствует различным типам передаваемых данных (рис. 1).
А)
В)
С)
Рисунок 1 – Типы передаваемых данных: скалярные, 1D-Массив, 2D-Массив
Неправильная связь терминалов или незаконченное соединение изображается штриховой линией.
Структуры - это графическое представление циклов и операторов выбора в тексториентированных языках программирования (рис. 2). Терминалы, функции, связи и структуры – это весь синтаксис языка программирования LabVIEW.
Рисунок 2 – Структуры
Линейка инструментов. Оба окна, как интерфейсное, так и окно редактирования диаграмм имеют линейки инструментов, которые содержат служебные кнопки и индикаторы состояния, предназначенные для контроля Виртуальных Инструментов. Одна из линеек инструментов всегда доступна, и ее вид зависит от того, в каком окне находится пользователь. Линейка инструментов интерфейсного окна содержит 8 кнопок (рис. 3):
Рисунок 3 – Линейка инструментов
1 - кнопка запуска программы на выполнение, пока приложение выполняется, значок меняет свой внешний вид;
2 - кнопка запуска программы на выполнение в циклическом режиме, пока приложение выполняется, значок меняет свой внешний вид;
3 - когда приложение запущено, эта кнопка находится в активном состоянии, используйте ее для прекращения выполнения программы;
4 - кнопка "ПАУЗА" приостанавливает исполнение программы до последующего нажатия на эту же кнопку;
5 - выпадающее меню редактирования свойств шрифта: тип, размер, стиль и цвет;
6 - выпадающее меню, позволяющее осуществлять выравнивание и позиционирование объектов, это такие опции, как выравнивание выбранных объектов по левому краю, по правому, и т.д.;
7 - выпадающее меню, содержащее команды пространственного распределения графических объектов перед ней панели VI.
8 - если вы устанавливаете объект поверх другого объекта, то нижний объект может быть перекрыт и недоступен, используйте это выпадающее меню размещения объекта поверх или под желаемым.
Если приложение не может быть запущено на выполнение по какой либо причине, то линейка инструментов примет вид, указанный на рис. 4.
Рисунок 4 – Линейка инструментов при незапущенном приложении
Линейка инструментов окна редактирования диаграмм имеет такие же кнопки, как и интерфейсная панель, плюс свои собственные, предназначенные для отладки (debugging) программы (рис. 5):
Рисунок 5 – Линейка инструментов окна редактирования
1 - нажав эту кнопку, и запустив программу на выполнение, можно отлаживать программу и следить за следованием данных между объектами;
2 - нажатие на эту кнопку позволяет в процессе отладки "входить" в структуры, например, в циклы и подпрограммы;
3 - нажатие этой кнопки активизирует пошаговый режим отладки, т.е. данные будут передаваться от иконки к иконке, останавливая программу, подсвечивая при этом текущий элемент, и ожидать следующего шага- нажатия на эту же кнопку;
4 - нажатие на эту кнопку позволяет в процессе отладки "выходить" из структуры, например, из цикла, и перейти к следующему "узлу".
Выпадающее меню. Установив элемент управления на интерфейсную панель или иконку в окне редактирования диаграмм, всегда можно, например, изменить свойства этого объекта. Для этого нужно подвести указатель мыши к желаемому объекту и нажать правую клавишу мыши. В результате появится выпадающее меню, позволяющее редактировать объект.
Меню. Горизонтальное меню, которое находится как в интерфейсном окне, так и в окне редактирования диаграмм, содержит несколько подменю.
Для открытия, создания, записи файла используется меню File:
New VI - создание нового виртуального инструмента;
New… - создание нового компонента:
• виртуального инструмента VI,
• глобальной переменной,
• элемента управления/индикатора,
• шаблона VI,
• шаблона глобальной переменной,
• шаблона элемента управления/индикатора,
• полиморфного VI,
• Run_Time меню,
Open… - открывает существующий VI;
Close - закрывает активный VI;
Close All - закрывает все отрытые приложения;
Save - сохраняет текущий виртуальный инструмент на диске;
Save As… - сохраняет VI с новым именем;
Save All - сохраняет все открытые приложения;
Save with Options… - запись VI с опциями;
Revert… - возвращает VI к последней сохраненной версии;
Page Setup… - установка опций печати на принтер;
Print… - печать VI на принтер t с возможностью выбора содержимого;
Print Window… - печать содержимого окна на принтер;
VI Properties… - свойства VI;
Recently Opened Files - содержит список последних открываемых 10ти файлов;
Exit - завершение работы с LabVIEW.
Для изменения объектов на интерфейсной панели или в окне редактирования диаграмм, а также для вставки, копирования и удаления объектов, нужно использовать меню редактирования Edit:
Undo… - отмена действия;
Redo… - "возврат" отмененного действия;
Cut - удаление выбранного объекта и копирование его в буфер обмена;
Copy - копирование выделенного объекта в буфер обмена;
Paste - вставка объекта из буфера обмена;
Clear - удаление выбранного объекта;
Find… - поиск указанного VI, объекта или текста;
Show Search Results - отобразить результаты поиска;
Customize Control… - открывает окно редактирования элементов управления индикаторов;
Scale Object With Panel - рисует координатные оси для выбранного объекта;
Set Tabbing Order… - установка последовательности активизации объектов интерфейсной панели во время выполнения программы, при использовании клавиши Tab;
Import Picture from File - копирует выбранный рисунок в буфер обмена для дальнейшей вставки;
Remove Broken Wires - удаляет незадействованные или неправильные связи в окне редактирования диаграмм;
Create SubVI - создание подпрограммы из выбранных объектов в окне редактирования диаграмм;
Run!Time Menu… - редактирование меню;
Для изменения объектов на интерфейсной панели или в окне редактирования диаграмм, а также для вставки, копирования и удаления объектов, необходимо использовать меню редактирования Edit:
Undo… - отмена действия;
Redo… - "возврат" отмененного действия;
Cut - удаление выбранного объекта и копирование его в буфер обмена;
Copy - копирование выделенного объекта в буфер обмена;
Paste - вставка объекта из буфера обмена;
Clear - удаление выбранного объекта;
Find… - поиск указанного VI,объекта или текста;
Show Search Results - отобразить результаты поиска;
Customize Control… - открывает окно редактирования элементов управления и индикаторов;
Scale Object With Panel - рисует координатные оси для выбранного объекта;
Set Tabbing Order… - установка последовательности активизации объектов интерфейсной панели во время выполнения программы, при использовании клавиши Tab;
Import Picture from File - копирует выбранный рисунок в буфер обмена для дальнейшей вставки;
Remove Broken Wires - удаляет незадействованные или неправильные связи в окне редактирования диаграмм;
Create SubVI - создание подпрограммы из выбранных объектов в окне редактирования диаграмм;
Run!Time Menu… - редактирование меню;
Команды, связанные с запуском виртуального инструмента на исполнение, содержатся в меню управления Operate:
Run - запускает программу на выполнение;
Stop - прекращает выполнение программы;
Suspend when Called - пауза, когда вызывается VI;
Print at Completion - печать интерфейсной панели VI по окончанию его работы;
Log at Completion - регистрация данных по завершению работы программы;
Data Logging - настройки регистрации данных;
Make Current Values Default - устанавливает текущие значения элементов управления или индикаторов, как значение по умолчанию;
Reinitialize All To Default - устанавливает все элементы управления и индикаторы в значения по умолчанию;
Change to Run Mode - переключатель между режимами выполнения программы и редактирования.
Для просмотра используемых и неиспользуемых компонент и функций VI предназначено меню Browse:
Show VI Hierarchy - показывает иерархию VI (порядок вызываемых функций);
This VI's Callers - "вызовы" VI;
This VI's SubVIs - подпрограммы, используемые текущим VI;
Unopened SubVIs - список неиспользованных подпрограмм.
Unopened Type Defs - список неиспользованных определений типов.
Breakpoints - инструментарий для управления точками останова программы при отладке.
Для управления проектом служит меню Tools:
Measurement & Automation Explorer… - запускает программу конфигурирования устройств DAQ, GPIB, MAQ, IVI, Motion, VISA, VXI;
Instrumentation - обновление VXI драйверов, и др. функции;
Data Acquisition - программа конфигурирования DAQ устройств и просмотра каналов;
Compare - сравнение виртуальных инструментов, их иерархии, сравнение файлов;
Source Code Control - администрирование проекта;
VI Revision History _-добавление поясняющих записей текущей версии виртуального инструмента;
User Name… - изменение имени пользователя;
Build Application or Shared Library (DLL)… - компилятор приложений, позволяет создавать запускаемое приложение (EXE) или DLL библиотеку (Windows);
VI Library Manager… - менеджер управления библиотеками;
Edit VI Library… - программа редактирования библиотек;
Web Publishing Tool… - программа публикации VI в Web;
Advanced - опция, позволяющая включать в свои проекты компоненты ActiveX, осуществлять "массовую" компиляцию, устанавливать метрики VI; позволяет импортировать и экспортировать текстовые файлы в/из проекта;
Options… - опции для виртуального инструмента.
Меню Window - служит для переключения между окнами, открытия закрытия панелей, и т.д.
Show Diagram/Panel - переключает или открывает интерфейсную панель или окно диаграмм;
Show Controls Palette/Functions - показать панель управления или функциональную панель;
Show Tools Palette - показать панель инструментов;
Show Clipboard - показать содержимое окна буфера обмена;
Show Error List - показать список ошибок;
Tile Left and Right - выровнять окна по левому и правому краям;
Tile Up and Down - выровнять окна по верхнему и нижнему краям;
Full Size - увеличить окно до размеров экрана.
Меню помощи HELP:
Show Context Help - показать контекстную подсказку;
Lock Context Help - скрыть контекстную подсказку;
Contents and Index - оглавление и поиск;
View Printed Manuals… - документация;
Help for This VI - помощь для текущего VI;
Examples… - примеры программ;
Web Resources - соединение с сайтом фирмы National Instruments;
Explain Error… - пояснение ошибок программы, ели он существуют;
FlexMotion VI Online Help… - помощь через Интернет для FlexMotion VI;
IMAQ Vision… - помощь по программе IMAQ Vision;
NI!IMAQ Vis… - помощь по библиотекам NI_IMAQ;
ValueMotion VI Online Help… - помощь через Интернет для ValueMotion VI;
About LabVIEW - о среде разработки LabVIEW.
Панель инструментов (Tools) - один из основных служебных компонентов, который позволяет создавать, модифицировать и отлаживать виртуальные инструменты (рис. 6). Вызывается из основного меню Window -> Show Tools Palette.
Operating Tool - управление объектами, например, для перемещения ползунка или поворота ручки;
Position Tool - установка, "перетягивание " перемещение, изменение размеров объекта - стрелочка меняет свой внешний вид, когда доступна опция изменения размеров объекта;
Labeling Tool - инструмент для ввода текста, как в окне интерфейсной части программы, так и в окне редактирования диаграмм;
Wiring Tool - используется для связи (соединения) объектов;
Scroll Tool перемещение (прокрутка) содержимого окна одновременно;
Рисунок 6 – Окно панели инструментов
Object Shortcut Menu Tool - инструмент выполняет аналогичную функцию, что и нажатие на правую клавишу мыши на желаемом объекте, т.е. служит для вызова выпадающего меню;
Breakpoint Tool - установка точек (меток) останова программы при ее отладке;
Probe Tool - установка пробника в окне редактирования диаграмм, который, во время выполнения или отладки программы показывает значение параметра, где установлен пробник;
Color Copy Tool - копирование цвета в палитру _ необходимо подвести указатель и нажать левую клавишу мыши;
Color Tool - установка цвета объекта и его фона.
Рисунок 7 – Функциональная панель
Панель Управления и Функциональная Панель представляют собой структурированный набор иконных меню, предназначенных для доступа к библиотекам элементов интерфейса и соответствующих функций (рис. 7). Вызов необходимой панели осуществляется автоматически, при переключении между окном редактирования и интерфейсной панелью.
Используя Панель Управления (рис. 8) можно устанавливать (добавлять) элементы управления и индикаторы. Каждая опция иконизированного меню содержит под меню, в котором находятся соответствующие объекты. Вызывается из основного меню Window ->Show Controls Palette.
Numeric - элементы управления и индикаторы числового типа;
Boolean - элементы управления и индикаторы булевого типа;
String & Path - элементы управления и индикаторы строкового типа;
Array & Cluster - элементы управления и индикаторы массивов и кластеров различных типов данных;
Рисунок 8 - Панель управления
List & Table - элементы управления и индикаторы списков и таблиц;
Graph - индикаторы для различных типов графиков;
Ring & Enum - элементы управления и индикаторы для создания выпадающих меню и перечней;
I/O - графические объекты для конфигурирования и работы NI аппаратуры;
Refnum - управление свойствами приложения;
Dialog Controls - диалоговые объекты;
Classic Controls - палитра, в которой собраны графические объекты предыдущей версии LabVIEW;
Active X - объекты для работы с компонентами Active X;
Decorations - графические элементы оформления;
Select a Control - выбор и установка элемента управления или индикатора, который не входит в стандартный набор Панели Управления;
User Controls - элементы управления и индикаторы, созданные пользователем.
Элементы Функциональной Панели используются для создания диаграмм, т.е. алгоритма работы VI. Функциональная панель содержит необходимые функции для работы с различными типами и структурами данных, и позволяет реализовывать алгоритмы любой сложности от простых арифметических вычислений до функционально сложных, таких, например, как спектральный анализ. Вызывается из основного меню Window -> Show Function Palette.
Structures - основные структуры: циклы, последовательности…
Numeric - функции арифметических операций и вычислений;
Boolean - функции для работы с данными булевого типа;
String - функции для работы с данными строкового типа;
Array - функции для работы с массивами данных;
Cluster - функции для работы с кластерами;
Comparison - функции сравнения;
Time & Dialog - функции определения системного времени, даты, задержки и др.; а также стандартные функции диалоговых окон и форм;
File I/O - функции для работы с файлами (чтение, запись, удаление и т.д.);
Data Acquisition - функции для работы с аппаратурой;
Waveform - функции для работы с сигналами (Wave form специальный тип данных (кластер)), cоздание сигнала, сложение волн, запись/чтение на диск,с диска, и т.д.;
Analyze - широкий набор функций для работы с сигналами: генерация, цифровая обработка, численные алгоритмы и т.д.;
Instrument I/O - набор функций для работы со стандартными устройствами;.
Motion & Vision - функции для обработки видео изображений и контроля за движением;
Mathematics - функции высшей математики (задачи линейной алгебры, матрицы, функции аппроксимации и т.д.);
Communications - функции для работы с ActiveX компонентами, сокетами, сетевыми протоколами, такими как TCP/IP, и другие;
Application Control - функции управления приложением;
Graphics&Sound - функции для работы с графическими файлами и со звуком;
Tutorial - набор обучающих функций;
Report Generation - функции для создания отчетов, как в текстовом формате, так и формате html, вывод на печать;
Advanced - дополнительные функции, расширяющие возможности LabVIEW, а именно чтение и запись в порт, или работа с реестром Windows и т.д., а также вызов подпрограмм, написанных на других языках программирования;
Select a VI… - выбор и установка в окно редактирования диаграмм виртуального инструмента или функции пользователя;
User Libraries - библиотека функций пользователя.
Для работы в окне редактирования диаграмм следует освоить всего пять основных приемов техники соединений:
- Перемещение линии связи: нажмите левой клавишей мыши на линию связи и потяните.
- Удаление временной связи: сделайте двойной щелчок на временной связи.
- Изменение направления связи: используйте пробел для изменения направления связи.
- Удаление точки перегиба: Ctrl_left_click.
- Выделение связи: щелчок, двойной щелчок, тройной щелчок.
Перечень "горячих" клавиш LabVIEW:
Работа с файлами
Ctrl N Создание нового Виртуального Инструмента
Ctrl O Открыть файл
Ctrl W Закрыть файл
Ctrl S Сохранить программу
Ctrl P Печать проекта
Ctrl I Вывод на экран свойств программы
Ctrl Q Выход из LabVIEW
Работа с окнами
Ctrl E Вывод передней панели или окна диаграмм
Ctrl L Вывод списка ошибок
Ctrl T Делит экран поровну между обоими окнами
Ctrl / Раскрывает активный экран до полного размера
Ctrl H Выдает на экран контекстно-зависимую помощь
Команды редактирования
Ctrl V Вставить объект
Ctrl Sh Вывести результаты поиска
Ctrl B Удалить разрушенные связи
Ctrl C Копировать объект
Ctrl F Найти терминал, переменную, узел
Ctrl X Вырезать объект
Ctrl Z Отмена последнего действия
Ctrl Sh Повторить последнее действие
Команды выбора режимов
Ctrl R Запустить программу
Ctrl M Сменить режим редактирование/выполнение
Ctrl . Прекратить выполнение программы
Ctrl Y Добавить в историю изменений.
Терминалы и связи в LabVIEW.Программирование потоков передачи данных в LabVIEW осуществляется при помощи механизма графического связывания терминалов. Терминалы показывают типы данных элементов управления или индикаторов (рис.9). LabVIEW оперирует различными видами терминалов управляющих элементов, индикаторов, узлов, констант, специализированных структур. Различия во внешнем виде терминалов (цвет и символ) характеризуют тип представляемых данных.
Линии связи между терминалами отображают потоки данных в разрабатываемом приложении. Данные могут передаваться только в одном направлении: от источника к приемникам сигнала. Причем цвет и толщина линий связи характеризуют типы передаваемых данных (рис. 10):
Рисунок 9 – Внешний вид терминала
Рисунок 10 – Линии связи между терминалами
Порядок выполнения работы
1.4.1 Создадим первое элементарное приложение в среде LabVIEW.
Запускаем программу. В появившемся окне выбираем опцию New VI. Если панель управления неактивна, то ее следует вызвать через основное меню Window >> Show Control Palette.
Используя указатель мыши в виде стрелки (переключение между инструментами производится клавишей Tab), установим на интерфейсную панель (рис. 11) Digital Control, который находится на панели управления (Controls) >> Numeric.
Подпишем его, как "Число А". Для этой цели на панели инструментов Tools (вызов панели производится через Window >> Show Tools Palette), следует выбрать инструмент Edit Text, подвести указатель к метке, кликнуть и просто набрать необходимый текст.
Рисунок 11 – Интерфейсная панель
Аналогично предыдущим двум шагам устанавливаем и подписываем, как "Число В" еще один Digital Control. Это будут поля ввода наших параметров.
Для отображения результата поместим на интерфейсную панель Digital Indicator, который также находится на панели управления (Controls) >> Numeric. Подпишем его, как "Результат". Должно получиться приблизительно так, как показано на картинке.
Теперь перейдем к основной части работы, а именно к графическому программированию.
Создав визуальный интерфейс с двумя полями ввода чисел и одним цифровым индикатором, поставим и реализуем задачу, например, суммирования этих чисел. Для этого необходимо перейти в так называемое окно построения диаграмм, где мы видим три иконки (терминала), которые соответствуют полям ввода чисел и индикатору. Реализация простого или сложного алгоритма будет сводиться к элементарной последовательности действий, - а именно, к установке необходимых иконок, которые выполняют ту или иную функцию и связи (соединения) их между собой.
Для суммирования чисел необходимо вызвать функциональную панель (Functions)и перетянуть треугольную иконку, соответствующую операции суммирования в окно редактирования диаграмм. Она находится в Numeric >> Add.
Теперь только остается соединить необходимые контакты соединительной катушкой (Wiring Tool), которая размещена на панели инструментов (Tools). Подводим катушку к пиктограмме первого числа, нажимаем левую клавишу мыши, и не отпуская ее соединяем второй конец линии с одним из контактов пиктограммы суммирования. Для изменения направления связи потребуется еще один промежуточный щелчок левой клавишей мыши.
Повторяем эти действия и для второго числа. Аналогично соединяем выход иконки суммирования со входом цифрового индикатора таким образом, чтобы получилась функциональная диаграмма (см. рис.12).
Рисунок 12 – Функциональная диаграмма
Переходим на интерфейсную панель, запускаем программу на выполнение в циклическом режиме, нажав левой клавишей мыши на кнопке циклического запуска. Меняем значения полей ввода чисел, используя клавиатуру или мышь.
Для остановки выполнения программы следует воспользоваться кнопкой линейки управления "Abort Executiоn".Сделаем еще один шаг и сохраним наше первое элементарное приложение на диске. Для первого сохранения программы необходимо выбрать в меню Fileпункт Save. В появившемся диалоговом окне необходимо выбрать или создать желаемую директорию (папку), ввести имя файла и подтвердить ввод. Записанный нами файл сохранился с расширением vi(Virtual Instrument - виртуальный инструмент), и будет иметь вид <имя файла>.vi.
1.4.2 Изменим внешний вид наших графических объектов. Для этого подводим указатель в виде стрелки на объект, соответствующий "числу А", и нажимаем правую кнопку мыши. В появившемся контекстном меню выбираем опцию замены (Replace). Далее входим в подменю Numericи там выбираем шарообразную ручку управления (Knob).
Изменяя положение указателя, увидим, что в четырех точках он меняет вид со стрелки на окружности. В этот момент, нажав и удерживая левую кнопку мыши, изменяем вид ручки. Теперь разместим метку "Число А", выделив и переместив ее в необходимую позицию. Изменим атрибуты ручки "Число А". В выпадающем меню (нажав правую клавишу мыши) выберем изменение визуальных свойств объекта (Visible Items), а в них - Ramp. Для точного позиционирования ручки или отображения значения выберем еще и свойство Digital Display, которое также находится в Visible Items.
Разместите его на панели по-вашему усмотрению. Проделайте аналогичные шаги для остальных элементов интерфейса. В результате получится окно, изображенное на рис. 13.
Рисунок 13 – Панель с элементами интерфейса.
1.4.3 Установим на панель графический экран (рис. 14), который будет отображать графическую зависимость значения суммы чисел от времени. Для этого на панели управления (Controls)выберем иконку Graph, а в появившемся подменю - Waveform Chart.
Рисунок 14 –Установка графического экрана
Теперь продолжим разработку нашего программного кода. Установим связь между значением суммы и Waveform Chart(рис. 15). Для этого перейдем в окно диаграмм и соединим с помощью катушки (Tools >> Wiring Tool)необходимый контакт с соответствующей иконкой графического окна.
Рисунок 15 – Установка связей между графическими объектами
Ранее программа запускалась на выполнение в циклическом режиме. Теперь "поместим" фрагмент диаграммы в цикл, например, который является аналогом оператора "While". Условием выхода из цикла будет нажатие на кнопку останова. Для реализации поставленной задачи необходимо выполнить следующие шаги.
В функциональном меню (Functions)выбрать структуры (Structures), а в них цикл While-Loop. Перетянуть его в окно редактирования диаграмм и увеличить до размера чуть большего, чем уже созданная структурная схема.
Поместим базовую структуру в цикл. Для этого указателем в виде стрелки выделяем всю схему, а затем перетягиваем выделенные элементы вовнутрь цикла. Следуя вышеупомянутым замечаниям и поставленной задаче, выполним следующие действия, чтобы все выполнялось корректно. Перейдем в окно редактирования диаграмм. Выберем на панели инструментов иконку соответствующую указательному пальцу (инструмент Operation Tool). Изменим вид иконки условия выхода из цикла нажатием левой кнопки мыши на соответствующей пиктограмме аналогично тому, как показано на рисунке 16.
Рисунок 16 – Изменение вида иконки
Теперь нажмем на той же иконке правой кнопкой мыши. В выпадающем меню следует выбрать пункт создания управляющего элемента (Create Control). В результате появится пиктограмма, соответствующая кнопке остановки. Чтобы изменения значений суммы, выводимой в виде графика, выполнялось с определенной задержкой во времени (для большей наглядности анализа работы) установим из функциональной панели иконку Functions >> Time & Dialog >> Wait Until Next ms Multiple.
Создадим для нее константу, соответствующую этой задержке. Для этого подведем указатель в виде катушки к левой части иконки, нажмем правую клавишу мыши и выберем пункт создания константы (Create >> Constant).
Введем значение с клавиатуры, равное, например, "250". В результате проделанной работы, диаграмма должна выглядеть следующим образом (рис. 17):
Рисунок 17 – Вид диаграммы в результате проделанных действий
Сформируем переднюю интерфейсную панель. Как и для любых визуальных приборов, регуляторов, ползунков, меню и т.д., для Waveform Chartтакже можно менять различные визуальные параметры и свойства.
Запускаем программу на исполнение. В итоге, визуально, должен получиться похожий результат (рис 18):
Рисунок 18 – Ход работы диаграммы
Остановить программу можно нажатием на созданную кнопку "СТОП". Изменим константу, определяющую задержку, на один из визуальных элементов управления. Выбираем на панели управления понравившийся регулятор, например Horizontal Pointer Slider. Подписываем его необходимым образом. Меняем размер и диапазон значений от 0 до 1000. Переходим в окно редактирования диаграмм.
Удаляем соответствующую константу и оборвавшуюся связь следующим образом: выделяем константу и связь и нажимаем на клавиатуре клавишу"Delete".
Соединяем с помощью катушки контакт для установки задержки и задатчик. Переходим на панель отображения и делаем перекомпоновку элементов на панели, меняем толщину и цвет линии прорисовки графика.
Редактирование свойств графического экрана Waveform Chart(в частности, цвет и толщина линии) осуществляется через обобщенное меню его свойств, вызов которого производится простым нажатием мыши инструментом Operation Toolв области верхней надписи.
Во время работы программы попробуйте изменить положение ползунка регулятора задержки. Видим, что так можно управлять скоростью отображения результата "вручную".
1.4.4 Реализуем элементарную задачу генерации массива случайных чисел. Для ее решения понадобится составить диаграмму, которая показана на рисунке 19. Вместо привычного цикла While-Loop, здесь используется цикл For-Loop. Условием завершения работы или выхода из такого цикла является равенство переменной цикла и числа, определяющего количество итераций. Другими словами, в Lab-VIEW для работы цикла типа For-Loopнеобходимо соединить пиктограмму Nс константой, указывающей количество повторений. Для начала, результат будем выводить в виде графической зависимости случайных чисел от текущего значения числа итераций.
Рисунок 19 – Диаграмма для реализации генерации массива случайных чисел
Для реализации поставленной задачи нужно выполнить следующие шаги: Создать новый VI: File >> New VI. Установить на интерфейсную панель элемент Waveform Graph: Controls >> Graph >> Waveform Сhart. Изменить его внешний вид и свойства можно по своему усмотрению. Перейти в окно редактирования диаграмм. Перетянуть в окно редактирования вышеупомянутый цикл: Functions >> Structures >> For Loop. Изменить его размеры и местоположение (если нужно), чтобы была возможность устанавливать дополнительные компоненты вовнутрь. Следует сказать, что "i"— это переменная цикла. Щелчком правой кнопки мыши на пиктограмме цикла Nвыбираем создание константы (Create Constant)и вводим с клавиатуры значение, например 50. Создадим простейший генератор случайных чисел. Перетянем в середину цикла пиктограмму, которая позволяет генерировать случайные числа в диапазоне от 0 до 1: Functions >> Numeric >> Random Number (0-1). Соединим все компоненты так, как показано на рисунке 19. Запустим программу на выполнение и посмотрим на получившийся результат (рис. 20).
Рисунок 20 – Полученный результат при запуске диаграммы
Выполнив первый шаг, связанный с генерацией и визуализацией случайной последовательности, перейдем к основной задаче - задаче записи данных на диск. Сначала используем самый простой, но, в то же время, элегантный подход для записи последовательности. Дословно он называется "Записью в Крупноформатную таблицу" (Write to Spreadsheet File). Используя соответствующую диаграмму (VI— виртуальный инструмент), без указания дополнительных параметров, например таких, как формат записываемого числа, создадим файл текстового формата, где через пробел последовательно будет записана сгенерированная последовательность.
Выполним вышенамеченный план. Для этого перетянем из функционального меню Functions, пиктограмму, которая называется Write to Spreadsheet File.vi: File I/O >> Write to Spreadsheet File.vi, и соединим блоки так, как показано на рисунке 21.
Рисунок 21 – Последовательность соединения блоков
Так как кроме входа "ввод одномерного массива" (1D data), другие входы (формат, путь и т.п.) не подсоединялись, то LabVIEW сформирует следующую последовательность действий: Сначала будет создан массив из 50-и чисел; Результат будет отображен в виде графика; Появится стандартное диалоговое окно, в котором будет предложено выбрать директорию и имя файла, для сохранения данных. Если файл до этого не существовал, то он будет создан и в него будет записан массив чисел, а если он уже был на диске, то будет предложено добавить данные в файл или заменить уже существующие. После записи данных на диск программа сама завершит свое выполнение. Можно легко убедиться в этом, если перейти в окно интерфейсной панели и запустить программу на исполнение.
Вводим имя файла: random.xls. Расширение имени файла .xls было выбрано не случайно, а с целью продемонстрировать возможность того, что файл созданный в Lab-VIEW можно с легкостью использовать и для работы с другими приложениями, например, с Microsoft Excel. Поэтому не составит труда построить график в Excel, аналогичный графику в LabVIEW, используя Мастер Диаграмм Microsoft Excel.
До этого времени использовалась высокоуровневая функция записи данных на диск. Для реализации более гибкого алгоритма можно использовать функции более низкого уровня. Основные отличия заключаются в том, что функции создания или открытия файла, записи или чтения данных и закрытия файла выполнены как отдельные функциональные блоки. Составим диаграмму, которая как раз и будет использовать виртуальные инструменты низкоуровневого ввода/вывода.
Модифицируем предыдущую программу или создаем новый файл. Устанавливаем в окне редактирования диаграмм все необходимые блоки, как показано на рисунке 22: Functions >> File I/O >> Open/Create/ Replace File.vi, Write File, Close File. Небольшим отличием в программе будет то, что формат записываемых данных будет изменен: Functions >> String >> Array To Spreadsheet String. Соединяем блоки между собой. Для Close Fileсоздаем индикатор сообщения об ошибках записи. Для этого указатель мыши в виде катушки подводим к контакту мыши, выбираем Create >>Indiсa-
tor. При этом на интерфейсной панели появится его графический эквивалент. По аналогии создайте константы и для других блоков. Для модуля преобразования массива данных в таблицу строк, используйте константу форматирования %s(строка).
Рисунок 22 – Последовательность установки блоков
После запуска программы на выполнение данные автоматически запишутся в заданный файл. Поскольку файл данных будет уже существовать, после попытки повторного запуска программы появится диалоговое окно, где нужно будет выбрать между заменой существующего файла на новый или отменой записи в целом.
Задания
1.5.1 Создайте программу для сложения чисел.
1.5.2 Усовершенствуйте предыдущую программу, используя другие элементы интерфейса.
1.5.3 Создайте цикл для программы.
1.5.4 Установить прерыватель.
1.5.5 Создать генератор массив случайных чисел.
1.5.6 Изучите принцип передачи и сохранение результатов в файл.
1.5.7 Сохраните результаты в программе Microsoft Excel.
Контрольные вопросы
1.6.1 Назовите функциональные возможности пакета Lab VIEW.
1.6.2 Что такое интерфейсная панель и какие задачи она выполняет?
1.6.3 Для чего необходимы: «Иконки и терминалы», «Функции» и «Связи»? 1.6.4 Назовите опции, которые входят в меню.
1.6.5 Назовите основные функции, которые выполняет панель инструментов.
1.6.6 Для чего используются элементы функциональной панели и какие функции содержит данная панель?
1.6.7 Назовите несколько горячих клавиш в пакете LabVIEW.
1.6.8 Назовите терминалы и связи в пакете LabVIEW.
1.6.9 Для чего вводится временная задержка в генерации данных?
1.6.10 Перечислите основные средства отладки приложений LabVIEW.
1.7 Содержание отчета
1.7.1 Цель работы.
1.7.2 Описание экспериментов.
1.7.3 Выполненные задания.
1.7.4 Ответы на контрольные вопросы.
1.7.5 Выводы по работе.
Список используемой литературы
1.8.1 Блюм Питер. LabVIEW. Стиль программирования.- М: ДМК Пресс, 2008.- 400 с.
1.8.2 Федосов В. П., Нестеренко А. К. Цифровая обработка сигналов в LabVIEW. – М: ДМК Пресс, 2007. – 256 с.
1.8.3. Джеффри Тревис LabVIEW для всех.М.: ДМК пресс, ПриборКомплект, 2005. – 544 с.
1.8.4. Визильтер Ю. В., Желтов С. Ю., Князь В. А., Ходарев А. Н. Обработка и анализ цифровых изображений с примерами на LabVIEW и IMAQ Vision. М.: ДМК пресс, ПриборКомплект, 2008. – 464 с.
1.8.5. Суранов А. Я. LabVIEW 8.20 Справочник по функциям. М.: ДМК пресс, ПриборКомплект, 2007. – 536 с.
1.8.6. Бутырин П. А., Васьковская Т. А., Каратаев В. В., Материнкин С. В.
Автоматизация физических исследований и эксперимента: компьютерные измерения и виртуальные приборы на основе LabVIEW 7. М.: ДМК пресс, ПриборКомплект, 2007. – 264 с.
1.8.7. Кучерявский С.В., Суранов А.Я. Основы сетевых технологий. Создание сетевых приложений в среде LabVIEW. Изд-во Алтайского ун-та , 2005. – 49 с.
Лабораторная работа №2
Изучение принципов создания программ
Цель
Дата добавления: 2018-05-12; просмотров: 668; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!