Файл: Виртуальный прибор для расчета эквивалентного сопротивления.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.02.2024

Просмотров: 31

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

ИНСТИТУТ НЕПРЕРЫВНОГО ОБРАЗОВАНИЯ


Дисциплина: Информационные системы разработки телекоммуникационных устройств

Контрольная работа

Тема: Виртуальный прибор для расчета эквивалентного сопротивления

Фамилия: Ленгович

Имя: Дмитрий

Отчество: Владиславович

Группа №: ИБ-83з

Номер студ. Билета: 1710018

Преподаватель: Мусаева Т.В-К
Проверил:______________


Санкт-Петербург

2022

Задание

  1. Создать виртуальный прибор, позволяющий рассчитывать эквивалентное сопротивления заданного фрагмента электрической цепи

  2. Используя конструкцию "for loop" рассчитать выражение заданное самостоятельно

  3. Составить отчет, включающий скриншоты лицевой панели и блок­диаграммы.



  1. Введение

Одним из ключевых вопросов, возникающих при создании программного обеспечения, это временные и финансовые расходы на разработку. Использование традиционных языков программирования, особенно при проектировании специализированных программ для нужд электроэнергетики, может привести к повышенным затратам данных ресурсов. Ситуация усугубляется тем, что программированием занимаются инженеры, имеющие невысокие навыки практической алгоритмизации.

Компанией National Instruments создана специализированная среда разработки ­ LabVIEW. Название продукта является аббревиатурой и расшифровывается как Laboratory Virtual Instruments Engineering Workbench.

Данный программный продукт обладает существенными преимуществами:

  • LabVIEW изначально создавался для инженеров, а не для программистов, соответственно эта среда интуитивно понятна, а скорость ее освоения очень высока;

  • LabVIEW использует графический язык программирования, что позволяет отстроится от синтаксических ошибок;

  • LabVIEW изначально создавался для нужд промышленности, научных и учебных лабораторий и, как следствие, имеет очень большой набор библиотек для работ со стандартными портами (COM, USB и т.д.), с сетевыми протоколами. Многие производители оборудования поставляют набор библиотек для LabVIEW, что способствует быстрой адаптации устройств под свои нужды;

  • В LabVIEW присутствет огромный набор функций по обработке и анализу данных;




  • В LabVIEW очень просто работать с параллельными потоками.



  • Все вышесказанное позволяет успешно использовать данный продукт в электроэнергетике.



  1. Виртуальный прибор

Программа в LabView называется виртуальный прибор (Virtual Instrument) и представлена в виде двух окон. Первое окно называется лицевая панель (Front Panel). На нем располагаются элементы управления (поля ввода, кнопки и т.п.) и элементы отображения (графики, индикаторы и т.д.). Внешний вид окна и группы элементов интерфейса представлены на рисунке 1.

Второе окно описывает логику программы и называется блок­диаграмма (Block Diagram). Окно содержит функциональные узлы ввода, вывода и обработки данных и управляющие структуры (команды ветвления, циклы и т.д.). Эти блоки объединены в схему с помощью линий связи. Пример блок­диаграммы представлен на рисунке 2.

Для большего понимания структуры виртуального прибора можно провести аналогию с лабораторным стендом. Тогда лицевая панель этого стенда представлена окном Front Panel, а задняя часть панели, т.е. контакты и соединительные провода, это Block Diagram.



Рисунок 1. Лицевая панель



Рисунок 2. Блок диаграмма

Ниже приведена последовательность действий по созданию виртуального прибора, который пересчитывает действующее значение линейного напряжения в амплитудное значение фазного напряжения.

  • Создайте новый виртуальный прибор (меню File\New\VI);



  • Для более комфортной работы рекомендуется расположить лицевую панель и блок­диаграмму рядом (меню Windows\Tile Left and Right);



  • В окне с элементами управления выберите цифровое поле ввода



  • (панель Controls\Express\Numeric Controls\ Numeric Control) и разместите его на лицевой панели (пример на рисунке 3);



  • Измените метку поля по умолчанию на текст, поясняющий назначение данного поля (например: "действующее значение линейного напряжения, кВ");



  • В окне с элементами управления выберите цифровое поле вывода



  • (панель Controls\Express\Numeric Indicators\ Numeric Indicator) и



  • разместите его на лицевой панели (пример на рисунке 4);




  • Измените метку поля по умолчанию на текст, поясняющий назначение данного поля (например: "амплитудное значение фазного напряжения,

кВ");

  • Переключитесь в окно блок­диаграммы. Для указанных выше цифровых полей, в окне уже будут автоматически созданы терминалы данных (представления соответствующих элементов в блок­диаграмме);



  • В окне с элементами управления выберите функцию умножения (панель



  • Functions\Express\Arithmetic & Comparison\Express Numeric\Numeric Control) и разместите его в блок диаграмме;



  • Аналогично выберите функцию квадратный корень (Square Root) и числовые константы (Num Const). В качестве числовой константы укажите число 0.667;



  • Используя линии связи соедините функциональные блоки. В результате у вас должен получится виртуальный прибор как показано на рисунках 5



  • и 6;



  • Используя соответствующие кнопки на панели управления запустите виртуальный прибор. При желании можно использовать другие элементы управления, пример представлен на рисунке 7.



Рисунок 3. Внешний вид цифрового поля ввода



Рисунок 4. Внешний вид цифрового поля вывода



Рисунок 5.Лицевая панель виртуального прибора.



Рисунок 6. Блок­диаграмма виртуального прибора.



Рисунок 7. Лицевая панель виртуального прибора кнопки запуска прибора.

  1. Последовательность обработки данных.

Втрадиционных языках программирования, использующих логику структурно­модульного программирования, выполнение команд происходит в том порядке, в котором они записаны в программе.

ВLabVIEW используется идея потока данных. Т.е. любая функция будет выполнятся только тогда, когда получит на вход все необходимые данные. Например, показанная на рисунке 8 блок­диаграмма, будет выполнятся в следующем порядке. Сначала произойдет сложение чисел Numeric1 и Numeric2. После, когда результат поступит на вход функции умножения, выполнится произведение уже полученной суммы и числа Numeric3. Далее, итоговое число будет передано блоку Rezult.




При таком подходе очень удобно организовывать параллельное вычисление потоков. Все операции (сложить, умножить, вычесть), приведенные на рисунке 9, выполнятся одновременно.



  1. Типы данных

Понять, каким типом данных оперирует тот или иной блок LabVIEW, можно по цвету блока или по цвету входа в блок, если входов несколько и они разных типов. Например, целочисленные блоки окрашены в синий цвет, числа с плавающей запятой ­ в оранжевый, логические в зеленый, строковые в розовый. Некоторые типы данных, используемых в LabVIEW, показаны на рисунке 10.

Также о типе передаваемых данных будет сообщать цвет соединительной линии. Толщина линии указывает на информацию о типах данных. Так тонкая линия означает передачу одиночных значений. Толстая линия указывает на передачу массивов.



  1. Структура Case

Эта конструкция аналогична обычной команде ветвления "if" традиционных языков программирования и позволяет выполнять один из двух наборов команд в зависимости от состояния логического входа (рисунок 11).

Структура "case" состоит из двух фреймов: true и false. Если на контакты логического входа подана логическая единица, то будут выполнены команды фрейма true. И наоборот, команды фрейма false выполнятся в случае, если на контактах логического входа присутствует логический ноль. Переключаться между фреймами можно с помощью специального переключателя.

Поясним работу блока на примере выбора максимального из двух значений. На лицевой панели (рисунок 12) создадим два элемента для ввода числовых значений (A и B) и один для вывода (max). Кроме того, в окне блок­диаграммы разместим функцию "greater?". Контакты элементов соединим как показано на рисунке 13. Затем сменим фрейм блока "case" и соединим контакты согласно рисунку 14.










    1. Структура While Loop

Данная конструкция является реализацией в LabView цикла "while". Структура будет выполнять тело цикла, до тех пор пока на терминал завершения не будет подана логическая 1. Счетчик содержит номера текущей итерации. Например, блок­диаграмма представленная на рисунке 16 будет выводить номера итераций, пока не будет нажата кнопка "stop"



Для доступа к данным предыдущих итераций у структуры "while loop" необходимо включить сдвиговые регистры, которые появляются при выборе у цикла опции "Add Shift Register". В этом случае у цикла появляется дополнительная пара контактов. Правый контакт используется для передачи данных следующей итерации цикла, левый для получения данных с предыдущей итерации и для определения начального значения. Например, в примере приведенном на рисунке 17, будут рассчитано выражение

.