Pliki dołączone do zasobu:

LabView_przyklad.zip


Opis zasobu:

W LabView programuje się używając języka graficznego. W zasadzie rysujemy program. W tym przypadku również zaprezentowany przykład ma pokazać raczej metodykę tworzenia programu, niż nauczyć samego programowania.

Tworzymy nowy projekt w LabView (blank.vi). Pojawiają się dwa panele. Panel z kratką (podziałką) będzie zawierał elementy interfejsu graficznego, panel z białym tłem będzie zawierał nasz program (rys. 6.4).

Napiszemy program, który policzy i wyświetli na wykresie widma amplitudowe sygnałów sinusoidalnego, prostokątnego, trójkątnego i piłokształtnego. Zacznijmy od interfejsu użytkownika. Będą potrzebne dwa wykresy. Jeden będzie przedstawiał sygnał, a drugi jego widmo. Wstawmy te wykresy klikając lewym przyciskiem myszy na panelu interfejsu i wybierając dwa razy element Graph -> WaveformGraph (rys. 6.4).

 

Rys. 6.4 Okna programu i interfejsu użytkownika

Zauważmy, że odpowiedni kod programu (ikony) pojawia się z drugim okienku. Przejdźmy teraz do okna programu. Chcielibyśmy wygenerować sygnały sinusoidalny, prostokątny, trójkątny i piłokształtny. Skorzystamy z bloku Basic function Generator.vi. Po kliknięciu lewym przyciskiem myszy w okienku programu wybieramy opcje Programming -> Waveform -> Analog Waveform -> Waweform Generation i wybieramy blok Basic function Generator (rys. 6.5).  Można też wpisać w pole search nazwę funkcji czyli basic function generator. Przeciągamy odpowiednią ikonę na panel programu. Z każdym elementem związana jest pomoc kontekstowa (polecenie Help -> Show Context Help). Najeżdżając myszką na ikonę generatora funkcji otrzymujemy opis wprowadzeń i wyprowadzeń (zmiennych). Każdy kolor oznacza inny typ zmiennej. Łączymy narzędziem szpulka wyjście generatora (Signal Out) z wejściem pierwszego wykresu. Chcielibyśmy też mieć kontrolę nad generowanym sygnałem. W tym celu tworzymy odpowiednie pola do wprowadzania zmiennych. Wybieramy wejście Amplitude (musi migać) następnie klikamy na nim prawym przyciskiem myszy i wybieramy opcję Create Control. Pojawi się ikona kontrolki i odpowiednie pole na panelu interfejsu użytkownika. Analogicznie robimy dla wejść generatora sygnałów Frequency i Offset. Powstałe na interfejsie użytkownika elementy można dowolnie rozmieszczać i skalować. Utwórzmy jeszcze kontrolkę dla wejścia generatora Sampling info. Kontrolka umożliwia wpisanie częstotliwości próbkowania i liczby próbek generowanego sygnału. Oba te parametry są połączone w jedną zmienną.  Dotychczas stworzony kod programu jest przedstawiony na rys. 6.6.

 

Rys. 6.5 Okno programu i sposób wybierania elementów programu

 

Rys. 6.6 Program generujący sygnał

 

Program można już uruchomić. Program uruchamiamy klikając ikonę strzałki pod menu głównym środowiska LabView. Można również zmieniać parametry generowanego sygnału wpisując różne liczby w odpowiednie pola. Za każdym razem program uruchamia się jednokrotnie i kończy działanie. Nie jest to wygodne. Zastosujmy pętlę while (wybieramy Programing Structures -> While loop). Przeciągamy pętlę do okna programu i otaczamy nią wszystkie elementy programu. Do czerwonej ikonki na dole pętli tworzymy kontrolkę (podobnie jak poprzednio klikamy prawym przyciskiem myszy na ikonce i wybieramy opcję Create Control). Powstaje kontrolka stop i jej odpowiednik na interfejsie użytkownika. Jest to warunek zakończenia działania pętli i tym samym całego programu. Jak naciśniemy przycisk stop program zakończy działanie. Pętle są wykonywane z maksymalną szybkością. Niepotrzebnie zużywa to moc komputera. Możemy uruchamiać pętlę co jakiś czas. Służy do tego funkcja Wait() (wybieramy Programing -> Timing -> Wait).  Na wejściu bloku Wait() miliseconds to wait tworzymy stałą (klikamy prawym przyciskiem myszy i wybieramy opcję Create -> Constant, następnie zamieniamy 0 na 500.  Pętla będzie uruchamiana co 500 ms. Kod stworzonego programu zaprezentowany jest na rys. 6.8. Teraz program działa w pętli. Uruchamiamy go raz. Aby wyjść z programu należy wcisnąć przycisk STOP.

 

Rys. 6.7 Wynik działania programu zaprezentowanego na rysunku 6.6

 

Rys. 6.8 Kod programu z dodaną pętlą while

Do tej pory wyświetlany był tylko jeden typ sygnału – sinusoida. Wróćmy do ikony generatora w programie i utwórzmy jeszcze jedną kontrolkę wyboru typu sygnału (klikamy prawym przyciskiem myszy na wejściu generatora sygnałów signal type i wybieramy opcję Creare control). Pojawia się jeszcze jedna kontrolka. Na interfejsie użytkownika dostajemy pole wyboru, z którego możemy wybrać typ sygnału (rys. 6.9). Ikony programu można w każdej chwili automatycznie uporządkować wciskając sekwencję Ctrl-u z klawiatury komputera. W zasadzie mamy już wszystkie elementy dotyczące generacji sygnału.

Przejdźmy teraz do policzenia widma sygnału. Wykorzystamy do tego celu blok Amplitude and Phase Spectrum (w oknie program wybieramy Signal Processing -> Spectral Analysis i blok Amplitude and Phase Spectrum). Łączymy wejście bloku Amplitude and Phase Spectrum z wyjściem generatora sygnałów, a następnie wyjście bloku Amplitude and Phase Spectrum (Mag. Spectrum) z wejściem drugiego wykresu z użyciem narzędzia szpulka (rys. 6.10). Po uruchomieniu programu mamy już widmo sygnału (rys. 6.11).