Создание простого виртуального инструмента, конвертирующего температуру из шкалы Фаренгейта в шкалу Цельсия. Выполнение работы
Скачать 0.78 Mb.
|
Цель работы: изучить программу LabView. Создать простой виртуальный инструмент, конвертирующий температуру из шкалы Фаренгейта в шкалу Цельсия. Создать виртуальный прибор, который генерирует сигнал и выводит этот сигнал на графический индикатор. Создать виртуальный прибор, который сгенерирует сигнал, уменьшит в нём количество выборок и отобразит результаты в таблице и на лицевой панели. Создать виртуальный прибор, который генерирует фильтрует и анализирует сигнал. Создать виртуальный прибор, моделирующий работу делителя напряжения, состоящего из двух резисторов. Выполнение работы. 2.1 Создание простого виртуального инструмента, конвертирующего температуру из шкалы Фаренгейта в шкалу Цельсия. Создадим новый VI. Выберем пункт Programming, Structures, While loop, While. Нарисуем петлю в блок-схеме и растянем окно на нужную площадь. Откроем палитру Controls, она содержит все необходимые элементы для создания внешнего интерфейса и элементов управления, имитирующих реальный инструмент. Выберем пункт Modern, Boolean, Stop Button. Теперь создадим контроллер для значений по Фаренгейту и индикатор для значений по Цельсию. Выберем следующие пункты и перетащим контроллеры на переднюю панель: Modern, Numeric, Numeric Control - Fahrenheit ; Modern, Numeric, Thermometer - Celcius, Modern, Boolean, Round LED - Led (светодиод). Рисунок 1 — Передняя панель с контроллером и индикаторами Добавим в проект необходимый код и логику для конвертации температуру из шкалы Фаренгейта в шкалу Цельсия: поместим вычитающий модуль на блок-схеме - Programming Numeric Subtract. Соединим иконку Fahrenheit и верхний разъем вычитающего модуля. К нижнему разъему вычитающего модуля добавим константу, выбрав пункт Create Constant (ПКМ) и зададим ей значение 32. Поместим умножающий модуль на блок-схеме. Из палитры Functions и выберем пункт Programming Numeric Multiply. Соединим выходной разъем вычитающего модуля и верхний разъем умножающего. Поместим модуль для деления на блок-схеме. Из палитры Functions выберем пункт Programming Numeric Divide и добавим 2 константы 5 и 9 соответственно для вернего и нижнего входов, выбрав пункт Create Constant. Соединим выходной разъем модуля для деления с нижним разъемом умножающего модуля. Соединим выходной разъем умножающего модуля с входным разъемом индикатора Celsius. Добавим сравнительный модуль "меньше нуля?" на блок-схему щелкнув правой кнопкой и выбрав в палитре Programming Comparison Less Than Zero? Соединим выходной разъем умножающего модуля с модулем "меньше нуля?". Соединим выходной разъем модуля "меньше нуля?" с индикатором led. Результаты выполнения описанных выше действий представлены на рис.2-3.
Рисунок 2 — Передняя панель с контроллером и индикаторами при разных значениях на контроллере Fahrenheit Рисунок 3 — Блок-схема с использованной логикой 2.2 Создать виртуальный прибор, который генерирует сигнал и выводит этот сигнал на графический индикатор. Создадим новый ВП из шаблона. В программе выберем File/New и выберем VI/ From template/ Simulated/ Generate and display. Этот шаблон предназначен для создания ВП, который генерирует и отображает сигнал. На блок-диаграмме присутствует иконка голубого цвета, с названием Simulate Signal. Эта иконка представляет экспресс-ВП Simulate Signal. По умолчанию экспресс-ВП Simulate Signal моделирует синусоиду (рис.4). Рисунок 4 — Передняя панель выбранного шаблона Generate and display Изменим этот сигнал на пилообразный. Для этого на блок-диаграмме откроем свойства экспресс-ВП Simulate Signal. Выберем Sawtooth (пилообразный сигнал) из выпадающего меню Signal type (тип сигнала). Форма сигнала на графике, в разделе предварительного просмотра результата, изменится на пилообразную. Диалоговое окно Configure Simulate Signal (настройка моделируемого сигнала) представлено на рис.5. Рисунок 5 — Меню свойства экспресс-ВП Simulate Signal Чтобы использовать вращающуюся ручку для изменения амплитуды сигнала, необходимо соединить ее с входом Amplitude (Амплитуда) экспресс-ВП Simulate Signal. Для этого добавим вращающуюся ручку Knob из Express, Numeric Numeric, Controls. Наведем курсор на вращающуюся ручку Knob, когда появится инструмент Соединения, щелкним левой кнопкой мыши по стрелке на терминале Knob, а затем по стрелке на входе Амплитуда экспресс-ВП Simulate Signal соединим эти объекты вместе. Появится проводник, соединяющий объекты. Данные будут передаваться по этому проводнику от терминала Knob (вращающаяся ручка) к экспресс-ВП (рис.6). Рисунок 6 — Соединенные блоки Knob и Simulate Signal. Увеличим амплитуду выходящего сигнала в 10 раз и выведем результат на график. Для этого в палитре откроем Arithmetic & Comparison palette (Арифметика и Сравнение), выберите экспресс-ВП Formula (Формула). Откроем этот блок и изменим текст в текстовом поле Label с X1 на Sawtooth, чтобы переименовать входное значение экспресс-ВП Formula. После нажатия кнопкой мыши в текстовом поле String вверху диалогового окна Configure Formula, текст изменится в соответствии с введенным названием. Зададим масштабный множитель, вводя символы *10 после слова Sawtooth в текстовом поле String (рис.7). Рисунок 6 — Меню блока Formulа Для отображения двух сигналов на одном графике выполним следующие действия: на блок-диаграмме поместим курсор над стрелкой на выходе Sawtooth экспресс-ВП Simulate Signal. Используем инструмент Катушка для соединения выхода Sawtooth с терминалом графика осциллограммы. В месте соединения двух проводников появится функция Merge Signals (Объединение сигналов). Функция Merge Signals комбинирует два сигнала таким образом, чтобы они могли отображаться на одном графике. В результате получим два сигнала на одном графике (рис.7). Рисунок 7 — Два сигнала на одном графике Изменим внешний вид ручки управления амплитудой. Для этого выполним следующие шаги: на лицевой панели щелкнем правой кнопкой мыши по ручке и выберем опцию Properties (Свойства) из контекстного меню. Появится диалоговое окно Knob Properties (Свойства ручки управления). В разделе Label (ярлык) на вкладке Appearance (внешний вид) удалим из текстового поля текст Knob и введем Амплитуда. Щелкнем по вкладке Scale (Шкала) и в разделе Scale Style (Тип шкалы) выделим пункт Show color ramp (показать градиентную заливку). Результат представлен на рис.8. Рисунок 8 — Измененный вид ручки управления амплитудой Настроим график осциллограммы. Для этого выполним следующие действия: поместим курсор на панель редактирования графика. Когда появится двунаправленная стрелка, перетащим границу панели редактирования так, чтобы в ней добавилась еще одна строчка. Щелкнем правой кнопкой мыши по графику осциллограмм и выберкм Properties (Свойства) из контекстного меню. Появится диалоговое окно Waveform Graph Properties (Свойства графика осциллограмм). На вкладке Plots (графики) выберем Sawtooth из выпадающего меню. В разделе Colors (цвета) щелкнем на палитру цветов линии. Выберем новый цвет линии - розовый. Выберем Sawtooth (Formula Result) из выпадающего меню и выделим галочкой пункт Do not use waveform names for plot names (не использовать названия осциллограмм в качестве названий кривых). В текстовом поле Name удалим текущий ярлык и изменим название этого графика на "Масштабированный пилообразный сигнал". Результаты представлены на рис. 9. Рисунок 8 — Измененный вид графика осциллограммы Создадим ВП, который сгенерирует сигнал, уменьшит в нем количество выборок и отобразит результаты в таблице на лицевой панели В палитре Функций выберем Express Input Simulate signal. Настроим экспресс-ВП Simulate Signal (моделирование сигнала) так, чтобы он моделировал синусоиду с частотой 10.7 и амплитудой 2. Выполним следующие шаги, чтобы с помощью справки LabVIEW Help найти экспресс-ВП, уменьшающий количество выборок в сигнале. Наведем курсор на экспресс-ВП Simulate Signal и щелкнем по ссылке Detailed help (Детализированная справка) в окне Контекстной справки, чтобы отобразить раздел Simulate Signal (Моделирование Сигнала) справки LabVIEW Help. Щелкнем по вкладке Search (Поиск), введем фразу "sample compression" в строке Type in the word(s) to search for (Введите слово для поиска) и нажмем клавишу Enter. Чтобы найти фразу целиком, нужно взять ее в кавычки. Введем "sample compression ". Дважды щелкнем на раздел Sample compression в результатах поиска, чтобы отобразить раздел, который описывает экспресс-ВП Sample compression и выберем "Place on the block diagram" (Разместить на блок-диаграмме), чтобы прикрепить экспресс-ВП к курсору. Переместим курсор на блок-диаграмму. Разместим экспресс-ВП Sample compression на блок-диаграмме справа от экспресс-ВП Simulate Signal и настроим экспресс-ВП Sample compression так, чтобы проредить сигнал с коэффициентом 25 относительно его среднего значения. Используем инструмент Соединение, чтобы соединить выход Sine (Синус) экспресс-ВП Simulate Signal со входом Signals (Сигналы) экспресс-ВП Sample compression (рис.9). Рисунок 9 — Соединенный выход Sine Simulate Signal со входом Signals Sample compression Настроим интерфейс пользователя с помощью блок-диаграммы. Для этого проделаем следующие шаги: на блок-диаграмме щелкнем правой кнопкой мыши по выходу Mean (Среднее) экспресс-ВП Sample compression, и выберем опцию Create » Numeric Indicator (Создать » Числовой индикатор) из контекстного меню, чтобы создать числовой индикатор. Числовой индикатор Mean (Среднее), который показан слева, появится на блок-диаграмме. Щелкнем правой кнопкой мыши по выходу Mean (Среднее) экспресс-ВП Sample compression и выберите опцию Insert Input/Output (Добавить ввод/вывод) из контекстного меню, чтобы добавить входной терминал Enable (включить). Щелкнем правой кнопкой мыши по входу Enable (включить) и выберите пункт Create » Control (Создать » Элемент управления) из контекстного меню, чтобы создать выключатель. Терминал логического элемента управления появится на блок-диаграмме. Щелкнем правой кнопкой мыши по проводнику, который соединяет выход Sine (Синус) экспресс-ВП Simulate Signal со входом Signals (Сигналы) экспресс-ВП Sample compression, выберем опцию Create » Graph Indicator (Создать » Графический индикатор) из контекстного меню. Используем инструмент Соединение, чтобы соединить выход Mean (Среднее) экспресс-ВП Sample compression с графическим индикатором Sine (Синус). Появится Функция Merge Signals (Объединение сигналов) (рис.10). Рисунок 10 — Полученный результат настройки интерфейса с помощью блок-диаграммы Настроим виртуальный прибор так, чтобы он выполнялся непрерывно, пока пользователь его не остановит. Для этого сделаем следующее: щелкнем по кнопке Search (Найти), которая показана слева, на палитре Функций, и введем слово While в текстовое поле. В поле результатов поиска слева от названия подпалитры отобразится символ папки, а в случае экспресс-ВП это будет иконка ВП на голубом фоне. Дважды щелкнем While Loop <> (Цикл по условию), чтобы отобразить подпалитру Execution Control и Цикл по условию. Выберем Цикл по условию в палитре Execution Control. Поместим курсор мыши в верхний левый угол блок-диаграммы. Щелкнем там, чтобы "закрепить" верхний левый угол Цикла по условию. Переместим курсор по диагонали так, чтобы охватить все экспресс-ВП и проводники (рис.11). Рисунок 11 — Добавленный цикл While Используем окно Список ошибок (Error list). Сперва удалим индикатор Mean (Среднее) с лицевой панели ввиду его ненужности. На лицевой панели поместим курсор над индикатором Mean (Среднее) и дождемся, пока появится инструмент Позиционирования (Positioning tool). Щелкнем по индикатору Mean (Среднее), выделим его и нажмем клавишу Delete. Переключимся на блок-диаграмму. Проводник теперь выглядит как черная штриховая линия с красным крестиком посередине . Линия такого вида – это неисправный проводник. Кнопка Пуск (Run) принимает вид сломанной стрелки, чтобы указать, что этот ВП нельзя запустить. Щелкнем по неисправной кнопке Пуск (Run), чтобы вывести на экран окно Error list (Список ошибок), в котором перечислены все допущенные ошибки в ВП и сообщена детальная информация о каждой ошибке. Кроме этого, окно Error list (Список ошибок) можно использовать, чтобы определить местонахождение ошибки. В списке Errors and warnings (Ошибки и предупреждения), выберем пункт Wire: has loose ends (Провод: имеет свободный конец) и щелкнем по кнопке Help (Справка), чтобы вывести на экран подробную информацию об ошибке. В списке Errors and warnings (Ошибки и предупреждения), дважды щелкнем по пункту Wire: has loose ends (Провод: имеет свободный конец), чтобы выделить неисправный проводник. Нажмем сочетание клавиш, чтобы его удалить. Результат представлен на рис.12. Рисунок 11 — Блок-схема без индикатора Чтобы строить точки на графике осциллограмм более медленно, можно добавить на блок-диаграмму временную задержку. Выполним следующие шаги, чтобы иметь возможность управлять скоростью выполнения ВП: в палитре Function Programming Timing Time delay найдем экспресс-ВП Time Delay (временная задержка) и поместим его в Цикл по условию. Он предназначен для управления скоростью выполнения ВП. Введем значение 0.25 в текстовое поле Time delay (Время задержки) (секунды). Это значение определяет, как часто будет выполняться цикл. Если время задержки равно 0.25 секунды, цикл будет выполнять итерацию раз в четверть секунды. На лицевой панели переключим элемент управления Enable - если переключатель включен, график будет отображать прореженный сигнал. Выполним следующие шаги, чтобы вывести на экран набор средних значений в таблице на лицевой панели: в палитре Controls /Modern /List, Table & Tree/ Ex table найдtv индикатор Express Table и поместите его на лицевую панель, справа от графика осциллограмм. Переместиv эти объекты в блок-схеме в цикл по условию, справа от экспресс-ВП Sample Compression. Используем инструмент Соединение ("катушка"), чтобы присоединить выход Mean (Среднее) экспресс-ВП Sample Compression к входу Signals (Сигналы) экспресс-ВП Build Table. Блок-диаграмма должна выглядеть, как показано на рисунке 12. Рисунок 11 — Блок-диаграмма с экспресс-ВП Build Table Запустим ВП. Щелкнем переключателем Enable. Если переключатель Enable включен, таблица будет отображать средние значения каждых 25 выборок синусоиды. Если он выключен, таблица не будет записывать средние значения. (рис.12). Рисунок 12 — Передняя панель Дополнительные задания. Создадим виртуальный прибор, который генерирует фильтрует и анализирует сигнал. Сложение синусоидального сигнала с сигналом с белым шумом представлено на рис.13-14. Рисунок 13 — Блок-диаграмма программы Рисунок 14 — Передняя панель Для обработки сигналов с помощью фильтров и окон, можно использовать экспресс-ВП Filter (фильтр). Результат представлен на рис.15-16. Рисунок 15 — Блок-диаграмма программы Рисунок 16 — Передняя панель Для индикации события, заключающегося в превышении сигналом определенного значения, можно использовать световую сигнализацию. Чтобы сохранить информацию о данных, которые моделирует ВП, используем экспресс-ВП Write To Measurement File (рис.1-18). Рисунок 17 — Блок-диаграмма программы Рисунок 18 — Передняя панель Результат в файле: LabVIEW Measurement Writer_Version 2 Reader_Version 2 Separator Tab Decimal_Separator , Multi_Headings No X_Columns No Time_Pref Absolute Operator ASUS Description Sample of peak to peak values Date 1904/01/01 Time 03:00:00, ***End_of_Header*** 1,962206 2,026707 2,008898 1,975844 2,028179 1,991822 2,005287 2. Напишем программу, которая измеряет интервал времени между включением светодиода на передней панели и нажатием на кнопку. Результат представлен на рис.19-20 Рисунок 19 — Блок-схема программы Рисунок 20 — Передняя панель программы 3. Создадим виртуальный прибор, моделирующий работу делителя напряжения, состоящего из двух резисторов R1 и R2. Результат представлен на рис.21-22 Рисунок 21 — Передняя панель программы Рисунок 22 — Блок-схема программы 3. Вывод: в ходе выполнения лабораторной работы с помощью программы LabView были созданы: простой виртуальный инструмент, конвертирующий температуру из шкалы Фаренгейта в шкалу Цельсия, виртуальный прибор, который генерирует сигнал и выводит этот сигнал на графический индикатор, виртуальный прибор, который сгенерирует сигнал, уменьшит в нём количество выборок и отобразит результаты в таблице и на лицевой панели., виртуальный прибор, который генерирует фильтрует и анализирует сигнал, виртуальный прибор, моделирующий работу делителя напряжения, состоящего из двух резисторов. LabVIEW - среда разработки и платформа для выполнения программ, созданных на графическом языке программирования "G". ГУАП КАФЕДРА № 32 ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ ПРЕПОДАВАТЕЛЬ
РАБОТУ ВЫПОЛНИЛ
Санкт Петербург 2019 |