Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теория управления / Теория управления / LabVIEW_пособие_лаб_работы_1

.pdf
Скачиваний:
101
Добавлен:
06.06.2015
Размер:
463.13 Кб
Скачать

Лабораторная работа №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.Какое отличие в поведении имеют инициализированный и неинициализированный регистры сдвига?