Контрольная работа: Генерирование детерминированных процессов в среде LabVIEW
В среде LabVIEW создается так называемый виртуальный прибор (ВП) (VirtualInstrument – VI) – программный аналог реального физического прибора. Как и реальный прибор, ВП имеет лицевую панель, на которую выведены все органы управления и индикации. Проектирование ВП сводится к разработке лицевой панели и блок-схемы программы. Для этого используются два окна: окно FrontPanel (FP) для размещения лицевой панели и окно BlockDiagram(BD) для размещения блок-схемы программы (рис. 2).
Рис. 2
Оба окна имеют стандартную форму Windows. В верхней части каждого окна располагается полоса главного меню с названиями меню, как стандартными для Windows: File, Edit и Help, так и специфическими для LabVIEW: Operate, Tools, Browse, Window, содержание которых будет раскрываться по мере выполнения лабораторных работ. Ниже полосы главного меню размещена полоса инструментальной панели, служащая для запуска, отладки и редактирования ВП.
Вывод на лицевую панель всех элементов управления и индикации производится в активном окне FP с помощью палитры Controls (Управление) (рис. 3).
Палитра Controls вызывается щелчком правой кнопки мыши (ПКМ) в любом месте окна. Ее можно открыть также, выбрав ShowControlsPalette в меню Window. Поиск нужного элемента осуществляется переходом в палитре на нижние уровни. Найденный элемент (точнее, его иконка) выделяется щелчком левой кнопки мыши (ЛКМ), переносится на FP и помещается на ней еще одним щелчком ЛКМ (можно и по другому: нажать ЛКМ – перенести – отпустить ЛКМ). После выбора элемента палитра исчезает, если ее не прикрепить, щелкнув ЛКМ по значку кнопки в левом верхнем углу палитры. Одновременно с выводом на лицевую панель элемента управления или индикации появляется соответствующий ему функциональный элемент в окне BD.
Рис. 3
Блок-схема программы ВП размещается в окне BD. Она составляется из функциональных элементов (узлов) с помощью палитры Functions (Функции). Палитра Functions вызывается в активном окне BD щелчком ПКМ. Поиск нужных узлов и размещение их в окне BD производится так же, как и для палитры Controls. Соединение узлов между собой осуществляется с помощью инструмента - “катушка”.
Инструменты в LabVIEW обладают очень удобным свойством – изменяться в зависимости от того, к чему они подводятся. Достаточно подвести указатель мыши, каким бы он ни был, к терминалу узла, как он превращается в “катушку”, а терминал начинает мерцать. Нажатием ЛКМ осуществляется подсоединение к этому выводу. Далее при нажатой кнопке проводится линия до той точки, с которой нужно соединить (она тоже должна мерцать при приближении “катушки”). Если линию нужно где-то зафиксировать, чтобы схема читалась лучше, то следует отпустить кнопку, снова нажать и продолжить соединение. Пока соединение не произведено, линия будет пунктирной. Если соединение произведено правильно, то линия после отпускания ЛКМ примет вид и цвет, соответствующий типу передаваемых данных. Для удаления линии связи нужно выделить ее инструментом – “стрелка” (щелчок ЛКМ для выделения прямолинейного участка, двойной щелчок ЛКМ для выделения всей линии) и нажать клавишу Delete.
При разработке ВП требуется многократно переходить от одного окна к другому. Это можно сделать разными способами. 1) Через пункт Window главного меню. Например, при активном окне FP в ниспадающем меню Window нужно выбрать ShowBlockDiagram. 2) Через нижнюю строку, если до этого окно было свернуто. 3) Двойным щелчком ЛКМ на элементе управления или индикации в любом окне. Такой способ удобен, особенно, если нужно определить расположение элемента управления или индикации в другом окне, – элемент, по которому щелкнули, будет выделен. Границы выделенного элемента мерцают. Выделение можно снять, щелкнув ЛКМ в любом свободном месте окна.
4. Генерация детерминированных процессов
В пакете LabVIEW возможны три способа генерирования детерминированных процессов:
- вычисление процесса по формуле,
- формирование процесса с использованием имеющихся в LabVIEW элементарных функций
- использование имеющихся в LabVIEW генераторов детерминированных процессов.
Рассмотрим эти способы подробнее.
Вычисление детерминированного процесса по формуле. Для этого используется структура LabVIEW “FormulaNode” (Формула). Внутри этой структуры записывается формула по обычным для языка программирования высшего уровня правилам. Формул может быть несколько, каждая из них должна заканчиваться знаком “;” (точка с запятой).
В данной лабораторной работе ограничимся генерированием отрезка синусоидального процесса длиной в k периодов. Непрерывный процесс записывается так:
Y = Asin(2πft + φ) = Asin(2πt/T + φ).
Перейдем к дискретному времени, подставив в формулу t = iTд , где Тд – интервал дискретизации. Тогда
Y = Asin(2πiTд /T + φ) = Asin(2πi/N + φ),
где N = T/Tд – количество отсчетов за период синусоиды.
Изменяя i от 0 до N - 1, получим N отсчетов синусоидального процесса за период синусоиды. Чтобы сгенерировать синусоидальный процесс длительностью k периодов, нужно увеличить верхний предел i до kN – При этом в k раз увеличивается количество отсчетов. Если нужно сохранить количество отсчетов на всю реализацию неизменным при изменении количества периодов k, то увеличивают интервал дискретизации. Для такого варианта
Y = Asin(2πki/N + φ).
Здесь N равно количеству отсчетов на всю реализацию синусоидального процесса, содержащего k периодов синусоиды.
Воспользуемся именно этой формулой. Так как размерность начальной фазы φ в этой формуле – радианы, а задавать фазу удобнее в градусах, то следует перейти от радианной меры к градусной.
Y = Asin(2πki/N + φ0 π/180). ( 1)
Запись этой формулы в структуре FormulaNode показана на рис. 4.