Gliwice, 1.07.2014
Laboratorium
Oprogramowanie Systemów Pomiarowych
Tester filtrów dolnoprzepustowych
Skład sekcji:
Walentek Adrian
Olberek Kamil
AIR, gr. TI-2
Celem projektu było stworzenie aplikacji służącej do wyznaczania charakterystyki częstotliwościowej filtrów dolnoprzepustowych.
Definicje pojęć
UUT – Unit Under Test, urządzenie poddawane testowi –filtr dolnoprzepustowy.
VISA - The Virtual Instrument Software Architecture – biblioteka I/O zdolna do obsługi urządzeń pracujących w interfejsach VXI, GPIB oraz szeregowych (RS232).
LabVIEW Professional Development System, wersja 2013
PDFCreator - potrzebny do zapisu danych w formacie PDF
Konfiguracja systemu
W skład stanowiska pomiarowego wchodzą następujące urządzenia:
Komputer PC
Multimetr HP 34401A
Generator HP 33120A
Filtr dolnoprzepustowy
Rysunek 1 Schemat poglądowy stanowiska pomiarowego
Do komputera PC należy podłączyć przez interfejs GPIB generator HP 33120A oraz multimetr HP 34401A. Następnie wyjście z generatora należy podłączyć do filtra dolnoprzepustowego (do wejścia IN). W generatorze należy wybrać sygnał sinusoidalny o amplitudzie 1V. Wyjście OUT z filtru dolnoprzepustowego należy podłączyć do multimetru HP 34401A. W multimetrze należy wybrać pomiar napięcia przemiennego. W komputerze PC przy użyciu oprogramowania National Instruments Max należy sprawdzić, czy widoczny jest multimetr oraz generator.
Aplikacja służy do wyznaczania charakterystyki częstotliwościowej filtru. Cała aplikacja opiera się na maszynie stanów. Najpierw użytkownik wybiera źródło VISA generatora i multimetru oraz podaje częstotliwość początkową i końcową. Następnie przy pomocy przycisku na front panelu uruchamia funkcje sprawdzającą poprawność danych, w razie problemów informowany jest o tym odpowiednią informacją. Jeżeli podane dane są prawidłowe użytkownik może przejść do kolejnej fazy, którą jest podłączenie testowanego urządzenia tj. filtru dolnoprzepustowego. Na ekranie wyświetla się obrazek ze schematem podłączenia. Po podłączeniu filtru, użytkownik przechodzi do głównego panelu aplikacji, gdzie wyświetlany jest wykres z charakterystyką częstotliwościową badanego filtru. Po zakończeniu badania użytkownik ma możliwość zapisu otrzymanych danych do 3 różnych formatów: PDF, XLS oraz TDMS.
Aplikacja posiada trzy zakładki, które wyświetlane są w odpowiedniej kolejności. Użytkownik nie ma możliwości przejścia z jednej do drugiej bez spełnienia odpowiednich warunków. Pierwsza zakładka przedstawia panel z ustawieniami. Wygląda ona następująco:
Rysunek 2 Panel konfiguracyjny programu
Na panelu tym znajdują się następujące kontrolki dzięki, którym użytkownik wchodzi w interakcje z programem:
Typ | Nazwa | Funkcja |
---|---|---|
VISA resource name (control) | VISA resource (generator) | Wybór dostępnego generatora z listy |
VISA resource name (control) | VISA resource (multimeter) | Wybór dostępnego multimetru z listy |
Numeric Control | Start frequency [Hz] | Wybór częstotliwości początkowej, od której zacznie się badanie filtru |
Numeric Control | Stop frequency [Hz] | Wybór częstotliwości końcowej |
VISA resource name (indicator) | Generator identification | Wyświetla identyfikacje wybranego generatora |
VISA resource name (indicator) | Multimeter identification | Wyświetla identyfikacje wybranego multimetru |
Boolean Square LED | Ready (generator) | Sygnalizuje poprawne połączenie z generatorem |
Boolean Square LED | Ready (multimeter) | Sygnalizuje poprawne połączenie z multimetrem |
Boolean Button | Check settings | Służy do zbadania poprawności wprowadzonych danych |
Boolean Button | Next | Przejście do następnego kroku |
String Indicator | String | Wyświetla opisy (description) wszystkich kontrolek na panelu |
Opisy dopisane do każdej z kontrolek pokazują do czego służy każda kontrolka. Dodatkowo na dole okna w kontrolce String Indicator pokazują się opisy po najechaniu na daną kontrolkę.
Wszystkie kontrolki są z palety Silver, dzięki czemu kontrolki mają ładne, gładkie kontury oraz nadają aplikacji nowoczesny wygląd.
Zmiana rozmiaru okna została zablokowana, usunięto scrollbary oraz belkę narzędziową. Menu zastąpiono własnym z zakładkami File oraz Help. W File znajduje się opcja Close, zaś w Help trzy opcje: Show Context Help, About Us oraz About Labview. Dodatkowo po naciśnięciu „x” w prawym górnym rogu, wyskakuje okienko z informacją, czy użytkownik jest pewien zamknięcia aplikacji.
Druga zakładka przedstawia okno ze schematem podłączenia filtru dolnoprzepustowego do generatora oraz multimetru. Okno to wygląda następująco:
Rysunek 3 Panel połączenia filtra dolnoprzepustowego
Na tym panelu znajduje się jedynie jedna kontrolka typu Boolean Button – Confirm and continue the TEST. Dzięki tej kontrolce użytkownik potwierdza podłączenie filtru i zostaje przeniesiony do ostatniego okna, w którym zostaje przetestowany filtr i przedstawiona jego charakterystyka. Okno to wygląda następująco:
Rysunek 4 Panel z charakterystyką filtru
Charakterystyka przedstawiona na powyższym obrazku, nie przedstawia charakterystyki filtru, tylko przykładowe wylosowane dane za pomocą funkcji Random Number. Na panelu tym znajdują się następujące kontrolki dzięki, którym użytkownik wchodzi w interakcje z programem:
Typ | Nazwa | Funkcja |
---|---|---|
XY Graph | Frequency characteristic | Przedstawia charakterystykę filtru |
Enum Control | File format | Przedstawia możliwe formaty do zapisu |
Boolean Button | Save | Zapisuje dane w formacie wybranym w kontrolce Save |
Boolean Button | Exit | Zamyka aplikacje |
Po wygenerowaniu wykresu, użytkownik może zamknąć aplikacje lub zapisać dane do plików. Do pliku TDMS oraz XML zapisywane są jedynie wartości częstotliwości oraz odpowiadające jej wartości napięcia. W przypadku formatu PDF zapisywany jest również zrzut wykresu z charakterystyką.
Cała aplikacja została stworzona przy wykorzystaniu schematu State Machine. W maszynie tej znajduje się 7 stanów:
Start – stan początkowy, w którym inicjalizowane są zmienne oraz dezaktywowane kontrolki; po wykonaniu czynności program przechodzi do stanu „Wait for user event”
Initialize – stan ten wywoływany jest, gdy użytkownik kliknie w kontrolkę „Check” w pierwszej zakładce programu. W stanie tym wywoływany jest VI „IDN Instruments”, w którym sprawdzane jest połączenie z urządzeniami (multimetrem i generatorem), ponadto w stanie tym sprawdzane jest czy wprowadzone częstotliwości początkowe i końcowe są poprawne oraz czy częstotliwość końcowa jest większa od początkowej. Jeżeli nie wystąpił żaden błąd program przechodzi do stanu „Wait for user event”, w innym wypadku do stanu „Error”.
Wait for user event – stan, w którym główną funkcją jest Event Structure. W strukturze tej sprawdzane są interakcje użytkownika z programem. Po wykryciu odpowiedniej akcji wykonuje się odpowiedni program np. po kliknięciu na odpowiedni przycisk użytkownik zostaje przeniesiony do następnej zakładki programu. Po wykonaniu każdego stanu program powraca do tego stanu i oczekuje na akcje użytkownika.
Connector – stan, który zmienia okno programu na zakładkę z obrazkiem połączenia filtra dolnoprzepustowego.
Acquire – stan, w którym wykonywana jest główna funkcjonalność programu – badanie filtra dolnoprzepustowego. W stanie tym najpierw obliczana jest liczba próbek na każdy przedział skali logarytmicznej, następnie dla częstotliwości początkowej zostaje zmierzone napięcie RMS i wyliczona następna częstotliwość do zbadania. Całość powtarza się, aż do osiągnięcia częstotliwości końcowej. Charakterystyka filtru rysowana jest na bieżąco za pomocą wykresu XY Graph. Po wykonaniu się pętli program przechodzi do stanu „Wait for user event”. Jeżeli w trakcie badania wystąpią błędy program przerywa badanie i przechodzi do stanu „Error”.
Error – stan odpowiedzialny za wyświetlanie informacji o błędach na ekranie. Użytkownik informowany jest o błędzie w postaci okienka (One Button Dialog), w którym znajduje się opis błędu. W przypadku wykrycia niezidentyfikowanego błędu program zapisuje numer oraz informacje o błędzie do pliku tekstowego.
Exit – stan zamykający aplikacje. Przed zamknięciem aplikacji wyświetlana jest informacja, czy użytkownik na pewno chce zamknąć program. W zależności od wyboru program jest zamykany lub przechodzi do stanu „Wait for user event”.
Nazwa | Ikona | Opis |
---|---|---|
Error Handler | ![]() |
Sprawdzanie czy wystąpił jakikolwiek błąd. Jeżeli tak, to program przechodzi do stanu „Error”. Jeżeli nie przechodzi do stanu podłączonego do wejścia SubVI'a (Initial State in). |
IDN Instruments | ![]() |
Sprawdzenie, czy przyrządy o podanych adresach są wykrywane w systemie pomiarowym. W tym celu wysyłana jest odpowiednia komenda *IDN?. Prawidłowo zaadresowany (i podłączony) przyrząd odpowiada na nią automatycznie, przesyłając podstawowe dane przyrządu (np. model). |
Number of Sample | ![]() |
SubVI obliczający liczbę próbek w każdym przedziale skali logarytmicznej. Dzięki temu unikamy sytuacji, że dla najmniejszych przedziałów częstotliwości np. od 1Hz do 10Hz mamy tylko jedną próbkę. |
Set frequency and measure | ![]() |
SubVI, którego celem jest zadanie nowej częstotliwości sygnału generowanego przez generator oraz następnie sczytanie wartości napięcia zmierzonego przez multimetr. |
Graph to Chart | ![]() |
SubVI, którego celem jest stworzenie Clastra z tymczasowymi wartościami potrzebnymi do wyrysowania wykresu przy pomocy XY Graph. Dzięki temu podprogramowi, jesteśmy w stanie rysować na wykresie XY Graph kolejne próbki. |
New Frequency | ![]() |
SubVI, który wylicza nową częstotliwość na podstawie poprzedniej oraz na podstawie ilości próbek na dany przedział. |