
Теория управления / Теория управления / LabVIEW_пособие_лаб_работы_1
.pdf
Лабораторная работа №1
Введение в LabVIEW
Цели работы
Изучение интерфейса среды проектирования LabVIEW, получение навыков работы с передней панелью и блок-диаграммой виртуального прибора, знакомство со средствами редактирования и палитрами функций и органов управления, знакомство с понятием субприбора (SubVI); приобретение навыков создания коннекторов (connectors) и иконки (icon) субприбора, использования субприборов в виртуальных приборах.
Изучение циклов While Loop и For Loop, получение навыков доступа к данным предыдущих итераций в циклах.
Справочная информация
Среда программирования LabVIEW фирмы National Instruments —это мощное и удобное средство программирования, которое широко используется для автоматизации и управления различными технологическими процессам в промышленности и в научных исследованиях.
В основе программирования в LabVIEW лежит понятие Виртуальных приборов (Virtual Instruments, VI). Любая программа представляет собой такой виртуальный прибор — имеется «лицевая панель» (Front Panel) и «схема» (Block Diagram). На лицевой панели, как и положено, располагаются элементы управления программой — кнопки, графики, выключатели и тому подобное. Блок-схема — это, по сути, и есть сама программа. При написании (а вернее создании, потомучто писать приходится не так уж и много) программы используется такое понятие, как «поток данных» (Data Flow). Суть его в том, что все элементы программы (которые представлены графически) связываются между собой связями (проводами, нитками) по которым и происходит передача данных.

Цифрами обозначены:
1.Точки, элементы программы (Nodes)
2.Терминалы индикаторов (Indicator Terminals)
3.Связи (Wires)
4.Терминалы управляющих элементов (Control Terminals)
Итак, в LabVIEW вы создаете пользовательский интерфейс (лицевую панель), с управляющими элементами и индикаторами. Управляющие элементы — это тумблеры, кнопки, поля ввода и прочие устройства ввода. Индикаторы — это графики, шкалы, лампочки, текстовые поля и томуподобное. После создания пользовательского интерфейса, вы добавляете программный код, который управляет объектами на лицевой панели. Этот код содержится в схеме (block diagram).
LabVIEW можно использовать для того, чтобы управлять различным оборудованием, таким, как, устройства сбора данных, различные датчики, устройства наблюдения, двигательные устройства (например, шаговые моторы) и томуподобное, а так же GPIB, PXI, VXI, RS-232 и RS-484 устройства. Также в LabVIEW имеются встроенные средства для подключения созданных программ к сети, используя LabVIEW Web Server и различные стандартные протоколы и средства, такие как TCP/IP и ActiveX.
Используя LabVIEW, можно создавать приложения для тестирования и измерений, сбора данных, управления различными внешними устройствами, генерации отчетов. Так же можно создать независимые исполняемые файлы и библиотеки функций, такие как DLL, так как LabVIEW — это полноценный 32-битный компилятор.
В LabVIEW, как и в других языках программирования, тоже есть циклы. И функции, и подпрограммы, и даже переменные.
Цикл While
Чтобы создать такой цикл, нужно зайти в палитру Functions>>Execution Control и выбрать там While Loop соответственно. Затем нужно растянуть рамкупо полю до нужных вам размеров, вставить что-нибудь (например, кнопку), что будет условием завершения - и все, цикл готов.
- это терминал завершения цикла. Цикл будет выполняться до тех пор, пока этот терминал не получит определенное булевское значение (в данном случае - пока на терминал не поступит true).
- счетчик итераций, начальное значение всегда 0 (на первом шаге цикла), в дальнейшем при каждом проходе увеличивается на 1.
Вообще, есть два условия завершения цикла - Stop If True и Continue if True. Переключение междуними делается просто - щелчок правой кнопкой мыши по значку терминала, и выбрать нужное из контекстного меню.
Туннели
Небольшое, но важное замечание. В LabVIEW такие вот "рамочные" структуры встречаются довольно часто (есть еще цикл For, case structure и т.п.). Данные могут пересекать границурамки по "туннелям". Посмотрите на картинку:
Синий квадратик на границе цикла - это и есть тот самый туннель. Прим этом важно понимать, что данные пойдут по туннелю только тогда, когда цикл закончится. Поэтому, в

результате выполнения этой программы на индикаторе Iteration Number будет показан только номер последней итерации.
Цикл For (For Loops)
Чтобы создать такой цикл, нужно зайти в палитруFunctions>>Execution Control и выбрать там For Loops соответственно. Цикл выполняет находящийся внутри рамки код определенное число раз. Так же, можно поместить этот цикл следующим образом: щелкнуть на границе цикла While правой кнопкой мыши, и в контекстном меню выбрать
"Replace with For Loop".
- count, определяет, сколько раз будет выполняться цикл (нужно подключить, например, константук этому терминалу).
- выдает номер текущей итерации (аналогично тому, как в цикле While).
Порядок выполнения работы
1.Загрузите операционную систему Windows, затем программный пакет LabVIEW.
2.Откройте пустой виртуальный прибор (VI), выбрав в начальном экране LabVIEW
пункт New…->Blank VI либо File->New VI.
Изучите структуруменю окон передней панели (Front Panel) и блок-диаграммы (Block Diagram). Выведите палитры инструментов (Tools Palette),
функций (Functions Palette)
и органов управления (Controls Palette).

3.Исследуйте функционирование различных инструментов в режиме с автоматическим выбором инструмента (automatic tool selection) и без него.
4.Изучите работус системой помощи LabVIEW.
5.Выведите окно контекстной помощи и ознакомьтесь с его помощью с назначением функций, наводя курсор на элементы в палитре, и нажимая на пиктограмме палитры.
6.Попробуйте с помощью поля Search палитры функций найти функции преобразования Фурье, а в палитре управляющих элементов – элементы управления
«Ручка» (Knob).
7.Изучите инструменты отладки в среде LabVIEW.
8.Исследуйте работувиртуального прибора в различных режимах запуска. Примените при этом инструмент подсветки. Попробуйте выполнить программув пошаговом режиме.
9.Создайте прибор, который осуществляет преобразование значений температуры по шкале Кельвина, в значения по шкале Цельсия.
Справка: шкала Цельсия - температурная шкала, в которой опорными точками являются температура плавления льда (0 град.C) и температура кипения воды при нормальном атмосферном давлении (100 град.C), а величина градуса определяется как сотая часть интервала междуопорными точками.
0 С соответствует 273 К
100 С соответствует 373 К
Создайте прибор, который осуществляет преобразования значений температуры по шкале Кельвина, в значения по шкале Фаренгейта.
Справка: шкала Фаренгейта - температурная шкала, в которой опорными точками являются температура смеси снега и нашатыря (0 град.F) и нормальная температура человеческого тела (100 град.F), а величина градуса определяется как сотая часть интервала междуопорными точками.
0 С соответствует 32 F
100 С соответствует 212 F
Создайте прибор, который осуществляет преобразования значений температуры по шкале Кельвина, в значения по шкале Реомюра.
Справка: шкала Реомюра - температурная шкала, в которой опорными точками являются точка таяния льда (0 град.R) и точка кипения воды при нормальном

атмосферном давлении (80 град.R), а величина градуса определяется как восьмидесятая часть интервала междуопорными точками.
0 С соответствует 0 R
100 С соответствует 80 R
10.Создайте головной прибор, который будет использовать три созданных ранее прибора как субприборы. Используйте при этом генератор случайных чисел в диапазоне 200…300 как источник значений по шкале Кельвина, а для вывода значений в других шкалах используйте индикатор Thermometer. Каждый из приборов трёх предыдущих пунктов, если это еще не сделано, подготовьте как SubVI – создайте иконки и соединители.
Щелчок на поле коннектора, затем щелчок на нужном элементе (Numeric Control, например. Курсор при этом будет в виде катушки ниток).
При двойном щелчке по иконке откроется редактор.
11.Создайте будущий прибор, который бы вычислял преобразование в выбранную шкалу, путем указания численного индекса: 0 – шкала Цельсия, 1 – шкала Фаренгейта, 2 – шкала Реомюра. Используйте для выбора варианта вычисления шкалы функции сравнения (All functions->Programming->Comparison) и функцию двоичного выбора (All functions-> Programming->Comparison->Select). Используйте при этом приборы из п. 10.

12.Создайте прибор, который изменял значение текущий температуры, анализируя значения булевых управляющих элементов, один из которых повышает текущую температуруна 1 за итерацию, а другой понижает.
13.Сформируйте цикл While. Создайте индикатор Thermometer на передней панели и два логических управляющих элемента «Square Button» (Controls Palette -> Classic Control -> Classic Boolean).
14.Поместите внутрь две функции Select. Создайте управляющие элементы к каждой
функции и определите константы у функции Select.
14.Поместите в цикл функцию ожидания (Wait). Создайте в цикле регистр сдвига, выбрав пункт Add Shift Register в контекстном меню на рамке цикла. Исследуйте работуприбора. Попробуйте инициализировать регистры сдвига различными значениями. Как при этом изменится функционирование прибора?
15.Дополните прибор возможностью аварийной остановки при достижения значений критических температур и выводом номера итерации, на которой останавливается его выполнение.
16.Создайте на передней панели два управляющих элемента «Numeric». Соедините элементы на блок-диаграмме так, чтобы цикл останавливался, при превышении минимального или максимального значения температуры.
17.Создайте два индикатора типа «Numeric» на передней панели. Соедините один из них непосредственно с терминалом счетчика итераций цикла, другой поместите за пределами цикла и соедините так же с терминалом счетчика итераций цикла.
18.Исследуйте работуприбора
19.Поработайте над лицевой панелью. Для изменения объектов на интерфейсной панели можно использовать меню редактирования Edit: Customize Control…

открывает окно редактирования элементов управления и индикаторов. Замените вид кнопки охлаждения на вид работающего вентилятора, а кнопкунагрева на пламя. Замените все состояния кнопок подходящими рисунками, используйте движущиеся рисунки для придания реалистичности. Сохраните полученные управляющие элементы.
20.Измените, прибор таким образом, чтобы он измерял температурураз в секундув течение минуты.
Контрольные вопросы
1.Как на блок-диаграмме различить управляющие элементы передней панели (controls)
и индикаторы (indicators)?
2.С помощью каких инструментов (tools) можно изменять значения численных и булевых управляющих элементов на передней панели?
3.Как различаются различные типы данных на блок-диаграмме?
4.Как можно однозначно удостовериться в типе данных какого-то конкретного проводника?
5.Каким образом можно внедрить субприбор в имеющийся прибор?
6.Как можно быстро создать субприбор в головном приборе с готовой программой?
7.С помощью какого пункта меню можно увидеть иерархию приборов и субприборов?
8.Как убедиться в конкретной разновидности цикла While?
9.Для чего служит регистр сдвига?
10.Как от цикла While добиться функционирования, подобного циклу For?
11.Какое отличие в поведении имеют инициализированный и неинициализированный регистры сдвига?