Разработка цифрового виртуального вольтметра в среде LabView. Лабораторная работа 1 Разработка цифрового виртуального вольтметра в среде LabView
Скачать 1.2 Mb.
|
3 Лабораторная работа № 1 «Разработка цифрового виртуального вольтметра в среде LabView» Цели работы: 1. Углубить знания о сущности и применении виртуальных приборов в среде LabView. 2. Освоить методы и средства разработки виртуальными приборами в среде LabView. Задачи: - Разработать программу, реализующую моделирование сигналов: 1. Ознакомиться с средой LabVIEW; 2. Изучить основные элементы LabVIEW; 3. Разработать программу, используя теорию . 4. Оформить отчет, ответить на контрольные вопросы. Системные требования Требования для Windows Требования для Mac Требования для Linux Операционная система Windows XP с пакетом обновления 2 или более поздней версии WindowsVista Windows7 Mac OS X 10.6 или более поздняя версия Ubuntu 10.04+ Debian 6+ OpenSUSE 11.3+ Fedora Linux 14 Свободное место на диске 313 МБ ОЗУ 256 МБ 4 Теория LabView LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) — это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G» фирмы National Instruments (США). Первая версия LabVIEW была выпущена в 1986 году для Apple Macintosh, в настоящее время существуют версии для UNIX, Linux, Mac OS и пр., а наиболее развитыми и популярными являются версии для Microsoft Windows. LabVIEW используется в системах сбора и обработки данных, а также для управления техническими объектами и технологическими процессами. Идеологически LabVIEW очень близка к SCADA-системам, но в отличие от них в большей степени ориентирована на решение задач не столько в области АСУ ТП, сколько в области АСНИ. Основные функции Labview Controls - с ее помощью осуществляется визуальное размещение регуляторов и индикаторов на передней панели VI. Регуляторы предназначены для ввода информации в ходе выполнения программы, индикаторы – для вывода. В панели Controls они распределены по отдельным группам по некоторым признакам – числовые, логические, строковые, массивы, диалоговые, ActivX, Internet и др. При активировании функциональной панели становится доступной панель Functions, которая аналогично панели Controls включает систематизированные наборы стандартных элементов в виде отдельных пиктограмм, из которых осуществляется составление блок-схемы VI. Процесс разработки VI включает: 1. Размещение регуляторов и индикаторов на передней панели VI. Для этого из панели Controls выбирается объект требуемого типа и внешнего вида и размещается в требуемом месте на передней панели. При этом его размер, цвет, описание и название могут в последующем меняться. 2. Добавление требуемых для прикладной задачи структур и функций на функциональной панели. Для этого из панели Functions выбираются соответствующие структуры и функции, пиктограммы которых размещаются на функциональной панели. 3. Соединение регуляторов, индикаторов, констант, функций и др. на функциональной панели при помощи проводки. Регуляторы и индикаторы выполняют те же функции, что и входные и выходные параметры в текстовых языках программирования. При размещении регулятора/индикатора на передней панели, LabView создает соответствующую пиктограмму на блок-схеме. Символы на терминале соответствуют типу данных терминала. При нажатии правой кнопки мыши на регуляторе/индикаторе (как на передней, так и функциональной панели) появляется контекстное меню, с помощью которого возможно осуществить: замену индикатора на регулятор и наоборот (Change to Control, Change to Indicator); быстрый поиск терминала на функциональной панели (Find Terminal) и регулятора/индикатора на передней панели (Find Control, Find Indicator); демонстрацию или отказ от нее для названия и описания регулятора/индикатора (Show–Label, Show–Caption); 5 настройку параметров регулятора/индикатора (Data Operations); замену на другой регулятор/индикатор (Replace); получение справки по используемой функции (Online Help); открытие для функций соответствующих им констант, индикаторов и регуляторов (Create Constant, Create Indicator, Create Control ); и др. Терминалы представляют собой области функции, через которые передается информация. Они аналогичны параметрам в текстовых языках программирования. Для того, чтобы увидеть какие терминалы включает данная функция необходима по правой кнопке мыши на пиктограмме из контекстного меню выбрать Show–Terminals. Провода - пути данных между терминалами. Они аналогичны переменным на обычных языках. Данные идут в только одном направлении, с исходного терминала на один или более терминалов адресата. Провода имеют различную толщину и цвет. Синий цвет соответствует целым числам, оранжевый – вещественным числам, зеленый – логическим, лиловый – строковым данным. По мере перехода от скаляра к массиву и кластеру увеличивается толщина провода. Пиктограмма VI соответствует каждому виртуальному инструменту и располагается в правом верхнем углу передней панели. Для редактирования пиктограммы используется упрощенный графический редактор, позволяющий создавать изображение, закрашивая его отдельные пиксели. Для этого необходимо вызвать контекстное меню на иконке в правом верхнем углу лицевой панели, и выбрать Edit Icon. Коннектор представляет собой программный интерфейс виртуального инструмента. При использовании регуляторов или индикаторов на передней панели для передачи данных в VI, эти объекты должны иметь терминалы на панели коннектора. Он вызывается из контекстного меню на пиктограмме VI Show Connector. При этом выделяются терминалы для регуляторов на левой половине панели, а для индикаторов – на правой в соответствии с их количеством. SubVI является аналогом подпрограммы. В создаваемом VI возможно использование любого виртуального инструмента, имеющего коннектор. Базовые настройки и тип разрабатываемого VI устанавливаются в контекстном меню пиктограммы – пункт VI Setup. Панель Controls служит для добавления регуляторов и индикаторов к передней панели. Если панель Controls не видна на экране, ее можно открыть через верхнее меню Windows – Show Controls Palette. Панель Controls доступна, только если активно окно передней панели. Рассмотрим основные подпанели панели Controls. Numeric (числовые значения). Состоит из регуляторов и индикаторов для числовых данных. Boolean (Булевы значения). Состоит из регуляторов и индикаторов для булевых величин. String&Table (строковые значения и таблицы). Состоит из регуляторов и индикаторов для ASCII строк и таблиц. List & Ring (списки и закольцованные списки). Состоит из регуляторов и индикаторов для меню, выполненных в форме списков и закольцованных списков. Array & Cluster (массивы и кластеры). Состоит из регуляторов и индикаторов для группировки наборов типов данных. Graph (виртуальные осциллографы). Состоит из индикаторов, для построения графиков данных в графах или диаграммах в реальном масштабе времени. Path & Refnum (пути и ссылки). Состоит из регуляторов и индикаторов для путей и ссылок. 6 Decorations (оформление). Состоит из графических объектов для настройки дисплеев передней панели. Select Control (выбор регулятора). Отображает диалоговое окно для загрузки самодельных элементов управления. User Controls (средства управления пользователя). Состоит из специальных средств управления, которые формирует сам пользователь. ActiveX (объекты ActiveX). Состоит из средств управления, позволяющих внедрить объекты ActiveX на переднюю панель. Dialog (диалоговая панель). Состоит из стандартных объектов для формирования диалога с пользователем. IMAQ Vision (обработка изображений). Состоит из средств обработки и анализа изображений. Internet Toolkit (работа с Internet). Состоит из средств управления, располагаемых на передней панели, позволяющих организовывать ра-боту виртуальных инструментов в сети Internet (ftp, электронная почта, telnet, CGI и другие). Панель Functions предназначена для формирования блок-схемы VI. Каждая пиктограмма на панели открывает подпанель пиктограмм нижнего уровня. Если панель Functions не видна на экране, ее можно открыть через верхнее меню Windows – Show Functions Palette. Панель Functions доступна, только если активно окно функциональной панели. Рассмотрим основные подпанели панели Functions. 1. Structures (структуры). Состоит из управляющих структур программы, таких как циклы For Loop, While Loop и другие. 2. Numeric (числовые функции). Состоит из тригонометрических, логарифмических и других функций. 3. Boolean (Булевы функции). Состоит из логических и Булевых функций. 4. String (строковые функции). Состоит из функций для работы со строковыми величинами. 5. Array (массивы). Состоит из функций для обработки массивов. 6. Cluster (кластеры). Состоит из функций для обработки кластеров. 7. Comparison (сравнение). Состоит из функций для сравнения переменных. 8. Time & Dialog (время и диалог). Состоит из функций для диалоговых окон, синхронизации, и обработки ошибок. 9. File I/O (ввода/вывода файла). Состоит из функций для осуществления операций по вводу/выводу файлов. 10. Instrument I/O (инструменты ввода/вывода). Состоит из VI для связи и управления приборами различной архитектуры. 11. Instrument Drivers (драйверы приборов). Состоит из VI, способных управлять внешними приборами, осциллоскопами, генераторами, и т.д., через последовательный порт или интерфейс GPIB. 12. Data Acquisition (сбор данных). Состоит из VI для использования плат сбора данных. 13. Signal Processing (обработка сигналов). Состоит из VI для генерации и обработки сигналов. 14. Mathematics (математические). Состоит из оптимизационных, алгебраических, интегральных, дифференциальных и других функций. 15. Graphics & Sound (графика и звук). Состоит из VI для работы трехмерной графикой, изображениями и звуком. 16. Communication (связи). Состоит из виртуальных приборов для работы с сетями TCP, DDE и др. 7 17. Application Control (управление приложением). Состоит из VI, управляющих виртуальными приборами. 18. Advanced (расширенная). Состоит из разных функций типа функции библиотечного запроса, манипуляции данных и др. 19. Report Generation (генерация отчета). Состоит из VI, используемых для подготовки отчетных документов. 20. Tutorial (обучающие программы). Состоит из VI, используемых в обучающей программе LabVIEW. 21. User Libraries (пользовательские библиотеки). С помощью нее организуется быстрый доступ к нужному vi. 22. Select VI (выбор VI). Состоит из диалогового окна для внедрения подпрограмм в текущий ВП. 23. IMAQ Vision (обработка изображений). Состоит из VI, используемых для обработки и анализа изображений. 24. Image Acquisition (получение изображения). Состоит из VI, используемых для получения и обработки изображений. 25. Internet Toolkit (работа с Internet). Состоит из VI, используемых для работы в сети Internet (ftp, электронная почта, telnet, CGI и другие). 26. SQL (SQL запросы. Состоит из VI, используемых для организации связи с SQL сервером и обработки запросов. 8 Варианты заданий Задание 1. Разработать ПО для вычисления значения функции X(t) = A*SIN(w*F*t + D) Где: A – амплитуда, F – фаза, t - время, D – дельта, w - частота. Задание 2. Разработать ПО для вычисления значения функции X(t) = A*SIN(w*F*t + D) с помощью компонента FORMULA. Где: A – амплитуда, F – фаза, t - время, D – дельта, w - частота. 9 Задание 3. Создать программу для расчета значения числа R равного - квадратному корню из числа P = A*w*Sin(B+2+L)*(V/F)*Cos(2*Pi*N-M), если P>= 0 - 0, если P<0 Значения A, w, B, V, F, N, M – задаются пользователем, L – случайное число от 0 до 1. Так же выводить на форму значение числа P в DBL и в I32. 10 Задание 4. С помощью кластеров создать линию передачи данных для структуры данных, содержащей целочисленные, строковые, логические данные, целочисленный массив, дату и время. Programming -> Cluster & Variant -> Bundle Programming -> Cluster & Variant -> UnBundle 11 Пример выполнения задания Описание задачи Задается число, если оно больше 20, то к этому числу прибавляем константу, задаваемую с клавиатуры, иначе вычитаем ее. Решение 1) На Front panel добавляем два поля: для ввода значения и для вывода ответа (Numeric control, Numeric indicator). 2) На Block Diagram добавляем функцию Greater из раздела Comparison, присваиваем ей константу 20. Функция сравнивает вводимое число с ней. 12 3) Чтобы определить, какое действие нужно производить с числом, создаем условие Case Structure. В окне False создаем функцию сложение Add с константой 0.3 , а в окне true функцию вычитание Subtract с этой же константой. Это условие вычитает 0.3 из числа >=20 и прибавляет 0.3 к числу <20. 4) В поле Numeric indicator выводится конечное число. Содержание отчета по работе 1. Титульный лист. 2. Тема, цель и задачи лабораторной работы. 3. Подробный порядок выполнения работы. 4. Блок-схема алгоритма. Контрольные вопросы 1. Что такое среда графического программирования LabVIEW? 2. В каких областях применяется система LabVIEW. 3. Какие преимущества имеет LabVIEW перед текстовыми системами программирования? 4. Какие недостатки имеет LabVIEW перед текстовыми системами программирования? 5. Что такое виртуальный прибор? Как его можно использовать? |