Основы программирования в среде labview
Цель работы:
- ознакомление с организацией программной среды LabVIEW: изучение компонент диалогового окна LabVIEW, лицевой панели и блок-диаграммы, изучение палитры инструментов (Tools Palette), па-литр элементов контроля (Controls Palette) и функций (Function Palette);
- приобретение практических навыков создания, редактирования
и отладки компьютерных приборов.
Задание 1.Создать и запустить программу генератора случай-ных чисел и запустить режим анимации потоков данных.
Задание 2.Найти в библиотеке примеровLabVIEWпрограммуисследования функций, построение графиков самой функции и ее производной, нахождение их нулей и экстремальных значений.
Общие положения
Для создания собственных программ в среде LabVIEW исполь-зуются следующие инструменты: Лицевая панель, Блок-диаграмма, палитры элементов управления и отображения данных и палитры функций. При запуске LabVIEW из меню стартового диалогового окна командами New àBlank VI открываются два окна - Лицевая па-нель и Блок-диаграмма (рисунки 1.1 и 1.2).
В правом верхнем углу каждого окна находится пиктограмма для архивирования созданной программы в качестве нового компью-терного прибора. Здесь же размещена традиционная для приложений Windows полоса главного меню с одинаковыми для обоих окон пунк-
тами: File, Edit, Operate, Tools, Browse, Windows, Help. Краткое опи-
сание функций пунктов главного меню приведено в таблице 1.1.
Рисунок 1.1 - Лицевая панель
Рисунок 1.2 - Панель блок-диаграмм
Таблица 1.1 - Краткое описание функций главного меню
Пункты меню | Перевод | Функции |
File | Файл | Открытие, закрытие, сохранение и печать про- |
грамм | ||
Edit | Правка | Редактирование панелей, поиск объектов |
Operate | Управление | Запуск и прерывание выполнения программ |
Tools | Инструменты | Управление библиотеками программ |
Browse | Просмотр | Просмотр иерархий программ |
Windows | Окно | Отображение окон и палитр LabVIEW |
Help | Справка | Дополнительная информация об элементах и |
функциях LabVIEW | ||
Ниже полос главного меню расположены линейки инструмен-тов, которые различны для Лицевой панели и Блок-диаграммы за счет дополнительных кнопок для отладки программ (таблица 1.2).
Таблица 1.2 - Назначение кнопок инструментальных панелей
Пикто- | Назначение кнопок инструментальных панелей | |||||
грамма | ||||||
Кнопка Запуск (Run) при правильно составленной программе | ||||||
Вид кнопки Запуск (Run) при наличии ошибок в программе | ||||||
Вид кнопки Запуск (Run) в процессе выполнения программы | ||||||
Вид кнопки Запуск (Run) в процессе выполнения подпро- | ||||||
граммы | ||||||
Кнопка Непрерывный (повторяющийся) Запуск (Run | ||||||
Continuosly) | ||||||
Кнопка Останова выполнения программы (Abort Execution) | ||||||
Продолжение таблицы 1.2
Пикто- | Назначение кнопок инструментальных панелей | |||
грамма | ||||
Кнопка временной паузы выполнения программы (Pause) | ||||
Анимация потоков данных при отладке программ | ||||
Начало пошагового выполнения отладки программ | ||||
Пошаговое выполнение | ||||
Выход из пошагового выполнения программ | ||||
Редактирование текста (шрифт, размер, стиль и текст) |
Свободное пространство каждой панели образует рабочую об-ласть, снабженную горизонтальной и вертикальной полосами про-крутки. При разработке программ в рабочей области Лицевой панели размещаются визуальные элементы управления и индикации, форми-рующие интерфейс пользователя, а на панели Блок-диаграммы со-ставляется графический код создаваемого приложения. Для одновре-менного отображения на экране монитора обоих панелей целесооб-разно использовать команду: WindowsàTile Left and Right.
Разработка программ осуществляется с помощью трех вспомо-гательных палитр (рисунок 1.3):
а)
б) в)
Рисунок 1.3 - Вспомогательные палитры: а) палитра элементов контроля и индикации, б) палитра функций, в) палитра инструментов
- Палитры элементов управления и индикации (Controls Palette) на Лицевой панели;
- Палитры функций (Functions Palette) на Блок-диаграмме;
- Палитры инструментов (Tools Palette), доступной на обеих па-
нелях.
Инструменты имеют следующее назначение:
- - инструмент УПРАВЛЕНИЕ - для изменения значения элементов управления или ввода текста;
- - ПЕРЕМЕЩЕНИЕ - для активизации, перемещения или изменения размеров объектов;
- - ВВОД ТЕКСТА – для редактирования текста и создания свободных меток;
- - СОЕДИНЕНИЕ - создает проводники данных, соединяя объекты на блок-диаграмме;
- - ВЫЗОВ КОНТЕКСТНОГО МЕНЮ - вызывает кон-текстное меню соответствующего объекта по щелчку левой кнопки мыши.
- - БЫСТРАЯ ПРОКРУТКА ЭКРАНА – для просмотра окна без использования полосы прокрутки;
- - ВВОД КОНТРОЛЬНОЙ ТОЧКИ - позволяет расставлять контрольные точки в функциях, узлах, проводниках данных, структу-рах и приостанавливать в них выполнение программы;
- - УСТАНОВКА ОТЛАДОЧНЫХ ИНДИКАТОРОВ – пока-зывает текущее значение переменных в проводниках блок-диаграммы, используется при отладке программ для просмотра про-межуточных значений;
- - КОПИРОВАНИЕ ЦВЕТА - предназначен для копирова-ния и последующей вставки цвета;
- - РАСКРАШИВАНИЕ - позволяет изменить цвет объекта и отображает текущий фон.
Типы и проводники данных
В среде LabVIEW используются различные типы данных (рису-нок 1.4, таблица 1.3).
Рисунок 1.4 - Типы данных в LabVIEW
Таблица 1.3 - Типы данных в LabVIEW | ||
Тип данных | Цвет | Значение по |
умолчанию | ||
логический | зеленый | ложь |
число с плавающей запятой | оранжевый | 0,0 |
комплексное число | оранжевый | 0,0+i0,0 |
целое число | синий | |
строка | розовый | пустая |
кластер (включает разные типы дан- | розовый | - |
ных) | ||
динамический (информация о сигна- | фиолето- | - |
ле - имя, дата и время получения дан- | вый | |
ных) | ||
массив (включает тип данных в скоб- | различный | - |
ки и принимает цвет данных этого | ||
типа ) |
Для организации повторяющихся вычислений используются структуры цикла с заданным числом итераций и цикла, прекращаю-
щего свою работу при наступлении того или иного события в тех случаях, когда число итераций заранее не известно (рисунок 1.5).
Рисунок 1.5 - Структуры цикла в LabVIEW
Порядок выполнения задания 1
1.1 Осуществите запуск среды LabVIEW из каталога D:\LABV.
В появившемся главном окне программы выберите команды: NewàBlank VI для создания нового файла.Далее выберите меню: WindowàThe Left and Right для одновременного отображения наэкране двух окон программы: серой и белой панелей. Серая Лицевая панель (обычно располагается слева) –инструмент пользователя,ко-торый предназначен для размещения элементов ввода и вывода дан-ных в виде привычных технических устройств, таких как: цифровые указатели, ползунковые реостаты, регуляторы громкости, осцилло-графы, самописцы, графопостроители и т.д.. Белая (обычно распола-гается справа) - Блок-диаграмма, на которой вызываются пиктограм-мы различных функций и структур и составляется графический код программы.
Для совершения различных операций с помощью курсора необ-ходимо вызвать Палитру инструментов с помощью меню: Win-dowàShow Tools Palette на Лицевой панели или на Блок-диаграмм.
1.2 Щелчком ПКМ на Лицевой панели вызываем палитру эле-ментов контроля и управления и закрепляем ее в стационарном по-ложении с помощью инструмента «кнопка» в левом верхнем углу па-литры. В ней активизируем элементы контроля – первая пиктограмма
в первом ряду – для задания исходных параметров. Выделяем курсо-ром поочередно «цифровой регулятор», «реостат», «ручку регулятора громкости» и переносим их на верхнюю часть Лицевой панели.
Создадим пять элементов индикации работы этих приборов: «стрелочный амперметр», «манометр», «термометр», «линейный ин-дикатор» и «осциллограф». Для этого активизируем пиктограмму «элементы индикации», выбираем в ней соответствующие приборы и переносим их на свободную часть Лицевой панели. Обратим внима-ние, что при появлении любого нового элемента на Лицевой панели одновременно появляется его модифицированное изображение на блок-диаграмме. Дальнейшее программирование в среде LabVIEW практически сводится к соединению элементов блок-диаграммы про-водниками данных. При этом вид проводника автоматически выбира-ется соответствующим типу данных (рисунок 1.4).
1.3 Для работы с блок-диаграммой нужны дополнительные ин-струменты, которые вызываются из главного меню как Палитра ин-струментов (Tools Palette), доступная на обоих панелях - Windowà Show Tools Palette.
1.4 Подадим выходные сигналы управляющих элементов на входы произвольных индикаторов, соединяя их проводниками дан-ных с помощью инструмента «катушка». Поскольку управляющих элементов меньше, чем индикаторов, разделим выход одного из них на два за счет присоединения дополнительного проводника к любой из линий передачи данных.
1.5 При белой стрелке Run ( ) включаем периодический за-
пуск ( ) работы составленных программ. Изменяя на лицевой па-нели значения исходных величин, проследим отображение этих из-менений на показывающих приборах. Обратим внимание на соответ-ствие шкал управляющих элементов и показывающих приборов. При необходимости скорректируйте их с помощью инструмента «редак-тирование текста».
1.6 Щелчком ПКМ на блок-диаграмме вызовем панель «Все функции» и закрепим ее. В ней находим палитру «арифметические действия», открываем и переносим на блок-диаграмму два элемента:
«суммирование» - (Add) и «генератор случайных чисел» - (Random Num). Для этого выбираем: Functionsà Arith/Compareà Numeric (рисунок 1.6). Выделяем щелчком ЛКМ проводник, соеди-
няющий выбранный регулятор с осциллографом и удаляем провод-ник.
Рисунок 1.6 - Палитра арифметических действий
Рисунок 1.7 - Лицевая панель и блок-диаграмма задания 1
1.7 Выделяем элемент «суммирование» и вызываем справку Help, которая показывает схему его подключения. В соответствии с
этой схемой, подводим к одному из входов сумматора сигнал с вы-бранного регулятора, а к другому - генератор случайных чисел.
Результат суммирования подаем на вход осциллографа и при бе-
лой стрелке Run ( ) включаем периодический запуск ( ). При ра-ботающей программе рассмотрите и перепишите в отчет различные формы представления результатов вычисления на графике - в виде сплошной линии, отдельных точек, отрезков прямых, соединяющих соседние точки и т.д.
1.8 Остановите программу кнопкой «стоп» ( ). С помощью инструмента «Лампочка» и кнопки «периодический запуск» включи-те режим анимации потоков данных, используемый при отладке про-грамм. Проследите движение данных по проводникам и их преобра-зование на элементах блок-диаграммы (рисунок 1.7).
Порядок выполнения задания 2
2.1 В LabVIEW существует большая библиотека примеров ис-пользования этой среды в различных областях знаний и практическо-го использования в управлении технологическими процессами. Осо-бенностями этих примеров является возможность использования предлагаемых решений в целом или частично в качестве программ или подпрограмм в самостоятельных разработках.
Рисунок 1.8 - Пример лицевой панели
для исследования функций
2.2 В качестве настоящего задания предлагается найти примеры использования среды для исследования функций, то есть построения графиков самой функции и ее производной, нахождения нулей и экс-тремальных значений. Для этого необходимо выбрать меню: Helpà Find Examplesà Analyzing and Processing Signalsà Signal Pro-cessingàWaveform Generation Using Formula.vi и найти в нем подхо-дящий аналог решаемой задачи (рисунки 1.8 и 1.9)
Рисунок 1.9 - Блок-диаграмма с графическим кодом задачи для решения нелинейного уравнения методом бисекции
2.3 Для выполнения настоящего задания выберите одну из функций, приведенных в таблице 1.4, в соответствии с порядковым номером компьютера, установленного на Вашем столе. Введите ее в окно для записи функций на лицевой панели задачи, запустите про-грамму и перенесите в отчет условие задачи, полученный график функции, значения ее нулей и экстремумов и их положение.
Таблица 1.4 - Функции для исследования | |||
Номер | Функция | Значение | Интервал |
ПК | параметра | ||
у= sin(a) - b*a | b= 0,1 | 0; 10 |
у= а*х3+ b*x2+ c*x+ d | a= 1, b= 3,7 | -5; | |||
c=0,293, d=-1,96 | |||||
Продолжение таблицы 1.4 | |||||
Номер | Функция | Значение | Интервал | ||
ПК | параметра | ||||
у= (sin(a))/а - b*a | b= 0,05 | 0; | |||
y= exp(x) - a*cos(x) -1 | a= 1,1 | 0; 1,0 | |||
y= A* e-a*x *sin(x+1) | A= 2, a= 0,03 | 0; 10 | |||
y= a* eb*x+c*x^2 - 10 | a= 2,b=1, c=0,01 | -5; | |||
y= a*x 2 + b*x - c | a=1, b=2,c=-4 | -4; | |||
y= x4 - 16 | - | -16; | |||
y= a* eb*x+c*x^2 - 16 | a=2, b=0,1, | ||||
c=0,01 | -20; | ||||
y= a3 / (x2 + a2) - 5 | a=2 | -3; | |||
y= A* e-a*x *cos(x+1) | A=2, a=0,03 | 0; 10 | |||
у= ±√а*х2 + b*х + с | a=2, b=4, c=4 | -3; |
Контрольные вопросы:
1. Какие команды используются в среде LabVIEW для отладки программ?
2. Имеет ли какое-либо значение порядок подключения провод-ников к элементам суммирования и вычитания, умножения и деле-ния?
3. Какая форма графического представления результатов работы программы в наибольшей мере отражает дискретный принцип работы ПК? В каких случаях целесообразнее использовать другие графики?
4. Опишите назначение каждого из элементов блок диаграммы, приведенной на рисунке 1.9.
5. Откройте на блок-диаграмме палитру всех функций и запиши-те в отчет ее основные элементы.