Temat: Wprowadzenie do LabVIEW

Wstęp

Środowisko programistyczne LabVIEW znajduje zastosowanie w automatyce, robotyce, mechatronice, czyli w obszarach, w których mamy do czynienia z pomiarami, sterowaniem, akwizycją i przetwarzaniem danych oraz potrzebą integracji tych funkcji w jednym programie.

Cechy wyróżniające środowisko LabVIEW:

  • Graficzny język programowania (G) – opracowanie programu sprowadza się do łączenia bloczków na diagramie blokowym,

  • Programowanie wysokiego poziomu – LabVIEW wyposażone jest w dużą liczbę bibliotek i bloczków funkcyjnych, które pozwalają programiście skupić się na realizacji zadania stawianego przed programem, a nie na szczegółach implementacji (zarządzanie pamięcią, obsługa sterowników urządzeń),

  • Szybkie prototypowanie – w LabVIEW jednocześnie powstaje zarówno diagram blokowy, określający logikę działania programu, jak również panel frontowy zawierający elementy interfejsu użytkownika. Takie podejście znacząco zwiększa efektywność tworzenia aplikacji i umożliwia powstanie pierwszego prototypu w bardzo krótkim czasie.


Instalacja środowiska programistycznego LabVIEW

Środowisko programistyczne LabVIEW można pobrać w pełni funkcjonalnej wersji 30-dniowej ze strony www.ni.com/labview. Dla studentów uczelni technicznych dostępne są specjalne klucze licencyjne, umożliwiające zniesienie ograniczeń czasowych i wykorzystywanie pełni możliwości środowiska do celów edukacyjnych. Producent LabVIEW – firma National Instruments – organizuje ponadto internetowe szkolenia wprowadzające w tematykę LabVIEW, podczas których również można otrzymać edukacyjny klucz licencyjny.

Z uwagi na dużą liczbę dostępnych pakietów i bibliotek dodatkowych, podczas instalacji warto wybrać jedynie te funkcje, które będą rzeczywiście wykorzystywane, aby niepotrzebnie nie obciążać systemu operacyjnego usługami działającymi w tle. W razie potrzeby dodatkowe biblioteki można doinstalować w każdej chwili.
Do nauki podstaw, wystarczająca jest instalacja samego środowiska, bez dodatkowych bibliotek (opcja LabVIEW Core podczas instalacji).

Pierwszy program w LabVIEW

Po uruchomieniu LabVIEW w wersji 2012, pojawia się następujący ekran startowy:
http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86r1le1unt11lr1mdltcc3.png
Rysunek 1 Ekran startowy LabVIEW

Pracę nad nowym programem najlepiej zacząć od utworzenia nowego projektu. Projekt ułatwia nam zapanowanie nad wszystkimi programami i podprogramami (a każdy z nich zapisywany jest w osobnym pliku na dysku), jak również jest niezbędny do tego, aby utworzyć dla opracowanej aplikacji plik exe.

W celu utworzenia nowego projektu, z menu File wybieramy opcję „Create Project…”. LabVIEW następnie wyświetla kreator, który umożliwia skorzystanie z dostępnych szablonów. Tym razem jednak zaczniemy od pustego projektu (opcja Blank Project).

W LabVIEW, każdy program i podprogram zapisywany jest w osobnym pliku o rozszerzeniu .vi (od Virtual Instrument). Mówiąc o programach LabVIEW, bardzo często używa się właśnie określenia „VI”.

Aby utworzyć nowy VI, z menu File projektu wybieramy opcję „New VI” lub klikamy prawym przyciskiem myszy na ikonę „My Computer” w drzewie projektu, a następnie z menu wybieramy opcje New -> VI.

Po wybraniu tej opcji LabVIEW wyświetli nam dwa okna. Na pierwszym z nich (Front Panel) zamieszczamy kontrolki odpowiadające za elementy interfejsu użytkownika. Drugie okno (Block Diagram) służy do opracowywania logiki działania programu w postaci diagramu blokowego.

Przydatne skróty klawiszowe:

  • CTRL + E – przełączanie się pomiędzy oknami,

  • CTRL + T – równomierne rozłożenie okien obok siebie na ekranie.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86r1nel10bs1d7e19c8s494.png
Rysunek 2 Panel Frontowy i Diagram Blokowy LabVIEW

Praca z LabVIEW polega na wybieraniu bloczków potrzebnych do zrealizowania programu z odpowiednich palet. Dostęp do palet uzyskujemy poprzez kliknięcie prawym przyciskiem myszy w pustym obszarze okna. Dla panelu frontowego będą to palety zawierające kontrolki interfejsu, dla diagramu blokowego – kontrolki funkcyjne.

Tworzenie nowego programu zaczniemy od umieszczenia dwóch kontrolek na panelu frontowym. Będzie to suwak, umożliwiający nastawienie określonej wartości oraz termometr, na którym ta wartość będzie wyświetlana.

W tym celu klikamy prawym przyciskiem myszy w puste pole panelu frontowego i umieszczamy na nim następujące kontrolki:

  • Silver -> Numeric -> Vertical Pointer Slide

  • Silver -> Numeric -> Thermometer

Po umieszczeniu kontrolek na panelu frontowym mamy możliwość dostosowania ich wielkości (wymaga to niekiedy bardzo precyzyjnego operowania myszą) oraz skali (w tym celu wystarczy kliknąć dwukrotnie w liczbę na skali, a następnie wpisać pożądaną wartość).

Wszystkie właściwości kontrolek możemy ponadto skonfigurować poprzez kliknięcie prawym przyciskiem myszy na kontrolce i wybranie opcji Properties.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86siev9ulac1a0ule45.png
Rysunek 3 Panel frontowy programu po dopasowaniu wielkości i skali kontrolek

Po umieszczeniu kontrolek na panelu frontowym zauważamy, że odpowiadające im bloczki pojawiły się automatycznie na diagramie blokowym.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86s1mvt114g4e31oo2med6.png
Rysunek 4 Diagram blokowy po umieszczeniu kontrolek na panelu frontowym

Kontrolka „Vertical Pointer Slide” jest kontrolką wyjściową (taką, z której dane wypływają), co można poznać poprzez trójkątny konektor wyjściowy z jej prawej strony, jak również zamalowaną ramkę. Kontrolka „Thermometer” jest kontrolką wyświetlającą dane, co można poznać poprzez wejście z lewej strony, jak również niezamalowaną ramkę. Kolor pomarańczowy obu kontrolek oznacza, że są one przeznaczone do przechowywania liczb rzeczywistych, co jest również sygnalizowane literkami DBL (od „double”).

Aby umożliwić wyświetlanie przez termometr wartości nastawionej na suwaku, należy połączyć wyjście suwaka z wejściem termometru.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uka5cvr1cfdvbq13kb86h1due3.png
Rysunek 5 Połączenie między kontrolkami diagramu blokowego

Następnie możemy ustawić określoną wartość na suwaku, a po kliknięciu strzałki uruchamiającej program (Run) zauważymy, że wartość ta pojawiła się również na kontrolce wyjściowej – termometrze.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86tt8p1lv4qgc1ejma158.png
Rysunek 6 Przycisk uruchamiający program w LabVIEW

Wykonanie programu w ten sposób jest jednak jednorazowe. Po przesłaniu wartości do termometru program kończy swoje działanie. Aby umożliwić działanie programu w sposób ciągły, należy skorzystać z dostępnych w LabVIEW pętli. Do sterowania działaniem programu do momentu aż użytkownik zechce zakończyć jego pracę służy pętla While. Petlę while umieszczamy na diagramie blokowym, wybierając ją z palety Programming -> Structures -> While Loop, a następnie otaczając nią te elementy diagramu blokowego, które chcemy zapętlić.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86tc0q1mjglr21reghv09.png
Rysunek 7 Diagram blokowy z pętlą while

Po wstawieniu pętli możemy zauważyć, że programu nie da się uruchomić. Przycisk uruchamiania programu przybiera postać złamanej strzałki, co sygnalizuje obecność błędów. Klikając ten przycisk otrzymujemy okno z informacjami o błędach. Z tego okna możemy odczytać zarówno na czym polegają poszczególne błędy, możemy również klikając dwukrotnie na poszczególne pozycje na liście, przejść do fragmentów diagramu blokowego, które są źródłem błędu.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86tthl1pgd58a1dsfomla.png
Rysunek 8 Lista błędów w LabVIEW

W tym przypadku błąd polega na tym, że pętla while nie ma ustalonego warunku stopu, nie wiadomo więc kiedy ma zakończyć swoje działanie. W celu ustalenia warunku stopu pętli while, wystarczy umieścić w programie przycisk STOP, a następnie podpiąć go do terminala warunkowego pętli, znajdującego się w jej prawym dolnym rogu. Taki efekt można uzyskać na różne sposoby, najprostszą metoda jest kliknięcie prawym przyciskiem myszy na wejściu terminala warunkowego na diagramie blokowym, a następnie wybranie opcji Create Control. Możemy również na panelu frontowym z palety Boolean wybrać kontrolkę Stop Button, a następnie na diagramie blokowym wciągnąć ją do pętli while i podpiąć jej wyjście do wejścia terminala warunkowego pętli.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86t1m29m5h1d4d1820c66b.png
Rysunek 9 Pętla while z warunkiem stopu

Po wykonaniu tej operacji i uruchomieniu programu widzimy, że działa on już w sposób ciągły. Wartości ustawiane na suwaku są wyświetlane na termometrze do momentu, aż użytkownik zakończy działanie programu przyciskiem STOP.
LabVIEW umożliwia również podejrzenie kolejności wykonania poszczególnych operacji programu. W tym celu należy kliknąć przycisk żarówki „Highlight Execution”, dostępny w oknie diagramu blokowego. Uruchomienie programu z załączoną opcją podglądu powoduje wykonanie go w zwolnionym tempie z animacją przepływu poszczególnych danych.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86t1esi1cmo10ums9j10o6c.png
Rysunek 10 Podgląd wykonania programu

Program z pętlą while działa tak szybko, na ile pozwala mu system operacyjny, co może powodować zbyt częste odczytywanie danych z kontrolek wejściowych niż jest to rzeczywiście potrzebne. Efekt ten możemy zaobserwować poprzez umieszczenie kontrolki wyświetlającej wartość aktualnej iteracji pętli while. W tym celu należy utworzyć kontrolkę wyświetlającą dane z konektora „i”, widocznego w lewym dolnym rogu pętli while. Najszybciej można to zrealizować poprzez kliknięcie prawym przyciskiem myszy na ten konektor i wybranie opcji „Create Indicator”.

Aby ograniczyć szybkość działania programu, korzystamy z bloczka „Wait until next ms multiple”, dostępnego w palecie „Timing” na diagramie blokowym. Bloczek ten należy umieścić wewnątrz pętli, której czas wykonania ma kontrolować, a na jego wejście należy podpiąć wartość numeryczną, odpowiadająca liczbie milisekund, z jaką ma wykonywać się każda iteracja pętli. Najszybszym sposobem na podłączenie stałej na wejście tej kontrolki jest kliknięcie na jej wejściu prawym przyciskiem myszy, wybranie opcji „Create Constant”, a następnie wpisanie pożądanej wartości. Do uzyskania płynności działania interfejsu użytkownika, wystarczająca jest wartość 25 milisekund.

Po umieszczeniu tych kontrolek na diagramie blokowym możemy zauważyć, że mają one kolor niebieski. Kolorem takim w LabVIEW oznaczane są liczby całkowite.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86u65m1rujkct8931rnkd.png
Rysunek 11 Program z kontrolą czasu wykonania pętli while

LabVIEW udostępnia nam wiele innych dodatkowych kontrolek i funkcji. Możemy na przykład umieścić na panelu frontowym diodę, która będzie sygnalizować nam sytuację, gdy odczytywana wartość przekroczy zadany próg alarmowy.
Aby zrealizować taką funkcję, na panelu frontowym umieszczamy kontrolkę LED. Kontrolce tej zmieniamy nazwę na „Alarm”, a we właściwościach możemy dopasować jej kolor (np. czerwony).

Następnie na diagramie blokowym umieszczamy kontrolkę „Greater” z palety „Comparison”. Do górnego z jej wejść podpinamy wartość odczytywaną z suwaka, dolne wejście natomiast podłączamy do kontrolki lub stałej ustalającej wartość progową. Wyjście kontrolki „Greater” podłączamy na wejście diody LED, umieszczonej wcześniej wewnątrz pętli while.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86u9jq1h7016495lu1dhse.png
Rysunek 12 Program z sygnalizacją przekroczenia progu alarmowego

LabVIEW pozwala nam również w prosty sposób wizualizować odczytywane dane na wykresach. W tym celu możemy na panelu frontowym umieścić kontrolkę „Waveform Chart”. Następnie na diagramie blokowym do wejścia tej kontrolki podpinamy wartość odczytywaną z suwaka.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86u1nes17pgac51t5517b8f.png
Rysunek 13 Program z wizualizacją danych na wykresie

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86u1lceeu98q13elbajg.png
Rysunek 14 Panel frontowy ostatecznej wersji programu

Na podstawie opracowanego w ten sposób programu, możemy utworzyć plik wykonywalny exe, którego uruchomienie będzie możliwe na komputerze nie wyposażonym w środowisko LabVIEW.

W tym celu w oknie projektu klikamy prawym przyciskiem myszy na „Build Specifications” i wybieramy opcję New -> Application (EXE). Kreator tworzenia pliku wykonywalnego posiada wiele opcji, jednak aby utworzyć taki plik wystarczy w grupie „Source Files” wskazać ten VI, który ma zostać wywołany przy uruchomieniu programu. W naszym przypadku taki VI jest jeden.

http://www.student.mvlab.pl/wiedza/img/m/2/t/p17uk9u86vdaf1o9gebff0n8v4h.png
Rysunek 15 Konfiguracja pliku wykonywalnego EXE

Po poprawnym skonfigurowaniu i kliknięciu przycisku „Build”, na dysku zostanie utworzony plik wykonywalny, który następnie możemy uruchomić tak, jak każdy inny program w systemie operacyjnym. Program taki również możemy uruchomić na innym komputerze. W zależności od tego, jak dużo komponentów LabVIEW używa program, do jego uruchomienia może okazać się konieczna instalacja bibliotek uruchomieniowych „LabVIEW Runtime Engine”, dostępnych na stronie producenta.

Załączniki posta

LabVIEW - Wprowadzenie.pdf 663.41 kB, 14682 pobrań od 2013-07-04 

Program.vi 22.62 kB, 1145 pobrań od 2013-07-04