Изучение принципов создания программ



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 - библиотека функций пользователя.

Для работы в окне редактирования диаграмм следует освоить всего пять основных приемов техники соединений:

  1. Перемещение линии связи: нажмите левой клавишей мыши на линию связи и потяните.
  2. Удаление временной связи: сделайте двойной щелчок на временной связи.
  3. Изменение направления связи: используйте пробел для изменения направления связи.
  4. Удаление точки перегиба: Ctrl_left_click.
  5. Выделение связи: щелчок, двойной щелчок, тройной щелчок.

 

Перечень "горячих" клавиш 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 – Изменение вида иконки

 

Теперь нажмем на той же иконке правой  кнопкой мыши. В выпадающем меню следует выб­рать пункт создания управляющего элемента (Cre­ate 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 Con­stant)и вводим с клавиатуры значение, например 50.   Создадим простейший генератор случайных чи­сел. Перетянем в середину цикла пиктограмму, ко­торая позволяет генерировать случайные числа в диапазоне от 0 до 1: Functions >> Numeric >> Ran­dom 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; Мы поможем в написании вашей работы!

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






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