Laboratorium wirtualne 1/Moduł 1 - ćwiczenie 1: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Tomaszw (dyskusja | edycje)
Nie podano opisu zmian
Tomaszw (dyskusja | edycje)
Nie podano opisu zmian
Linia 144: Linia 144:
{| border="0" cellpadding="5" width="100%"
{| border="0" cellpadding="5" width="100%"
|valign="top" width="450px"|[[Grafika:LW1_M1_Slajd19.png]]
|valign="top" width="450px"|[[Grafika:LW1_M1_Slajd19.png]]
|valign="top"|''opis slajdu''
|valign="top"|
Czasami zdarzyć się może, że schemat blokowy został zbudowany w sposób nieprawidłowy. W szczególności mogły zostać wykonane zostały połączenia niedozwolone (symbolizowane przez połączenia przerywane). W tego typu sytuacjach również ikona służąca uruchamianiu programu będzie miała postać przerwanej strzałki. Wybór tego symbolu spowoduje wyświetlenie listy błędów.
Może zdarzyć się również, że poprawny składniowo program wykonuje swoje zadanie w sposób błędny. W tym przypadku warto jest wykonać go w trybie śledzenia przepływu danych z włączonym śledzeniem wartości wybranych zmiennych programu.
|}
|}


Linia 150: Linia 152:
{| border="0" cellpadding="5" width="100%"
{| border="0" cellpadding="5" width="100%"
|valign="top" width="450px"|[[Grafika:LW1_M1_Slajd20.png]]
|valign="top" width="450px"|[[Grafika:LW1_M1_Slajd20.png]]
|valign="top"|''opis slajdu''
|valign="top"|
Uruchomienie programu w trybie pokazującym przepływ danych, pokazuje iż bloki funkcjonalne programu wykonują się w ściśle określonych chwilach czasowych wyznaczonych przez momentami dostarczenia danych do wszystkich argumentów tych funkcji. Wyjątkiem są niektóre argumenty wejściowe, które nie są podłączone ale mają ustawioną wartość domyślną. Jeżeli w programie występuje wiele niezależnych ścieżek połączeń, to każdej z nich przydzielony jest osobny wątek. W związku z tym wzajemne relacje czasowe pojawiania się danych na poszczególnych etapach tychże ścieżek są nieokreślone. Jeżeli niezbędne jest zachowanie określonej kolejności, bądź synchronizacji niezależnych ścieżek należy stosować odpowiednie struktury (np.: Sequence) dostępne w LabVIEW.
|}
|}


Linia 156: Linia 159:
{| border="0" cellpadding="5" width="100%"
{| border="0" cellpadding="5" width="100%"
|valign="top" width="450px"|[[Grafika:LW1_M1_Slajd21.png]]
|valign="top" width="450px"|[[Grafika:LW1_M1_Slajd21.png]]
|valign="top"|''opis slajdu''
|valign="top"|
Poniżej przedstawiono sposób uruchomienia przykładowego programu poprzez '''Example Finder'''. W zakładce '''Search''' po wpisaniu słowa ''signals'' z listy wyników wybrano program: Signal Generation and Processing.vi. program ten można również uruchomić w trybie z „podświetleniem” przepływu danych, zaobserwować sposób działania programu. Można również dokonać własnych modyfikacji programu, nie wyłączając celowego uszkodzenia i ewentualnie następującego po nim przywrócenia stanu pierwotnego.
|}
|}


<hr width="100%">
{| border="0" cellpadding="5" width="100%"
{| border="0" cellpadding="5" width="100%"
|valign="top" width="450px"|[[Grafika:LW1_M1_Slajd22.png]]
|valign="top" width="450px"|[[Grafika:LW1_M1_Slajd22.png]]
|valign="top"|''opis slajdu''
|valign="top"|
|}
|}


Linia 168: Linia 171:
{| border="0" cellpadding="5" width="100%"
{| border="0" cellpadding="5" width="100%"
|valign="top" width="450px"|[[Grafika:LW1_M1_Slajd23.png]]
|valign="top" width="450px"|[[Grafika:LW1_M1_Slajd23.png]]
|valign="top"|''opis slajdu''
|valign="top"|
Kolejny przykład polegać będzie na przeliczeniu wartości temperatury podanej w stopniach Celsjusza na stopnie w skali Fahrenheita,zgodnie z równaniem: oF = 9/5 * oC + 32. Następnie program ten jako funkcja (SubVI) wykorzystany będzie w innej aplikacji. Ta z kolei poddana zostanie rozbudowie o symulator rejestrowanych danych i ekran wyświetlający historię pomiarów.
|}
|}



Wersja z 22:45, 23 sie 2006

wersja beta 02


Ćwiczenie 1 - Środowisko programistyczne LabVIEW


LabVIEW jest jednym z najpopularniejszych środowisk przeznaczonych do tworzenia szeroko aplikacji przeznaczonych do rejestracji, przetwarzania i prezentacji danych pomiarowych. Budowanie aplikacji nie jest oparte na klasycznym języku programowania (C , BASIC lub Pascal) a polega na kodowaniu zadanych czynności w sposób graficzny (język G). Najlepszym sposobem zdobycia umiejętności posługiwania się tym środowiskiem (ale dotyczy to w równym stopniu każdego innego oprogramowania) są praktyczne ćwiczenia począwszy od prostych przykładów poprzez bardziej wyrafinowane do zaawansowanych. Poniższa prezentacja ma właśnie taki cel. Przybliża ona składniki środowiska, ich przeznaczenie oraz sposób obsługi, a następnie omawia technikę programowania w oparciu o proste aplikacje.


Głównymi oknami środowiska LabVIEW są: okno płyty czołowej (Front Panel) oraz okno diagramu (Block Diagram). Pierwsze z nich służy do projektowania płyty czołowej (panelu) aplikacji, drugie natomiast jest oknem, w którym buduje się w sposób graficzny kod programu. Na slajdzie przedstawiono okna te z uruchomioną już przykładową aplikacją. Zwykle po uruchomieniu okna te będą puste. Aplikacje stworzone w środowisku LabView często nazywane są Wirtualnymi Przyrządami (Virtual Instruments). Przez producenta oprogramowania są one nazywane VI (wi aj).


Przykładowe okno płyty czołowej przedstawia slajd. Standardowymi jego elementami są: charakterystyczny dla LabVIEW pasek narzędzi oraz ikona programu. Pasek narzędzi spełnia wiele funkcji (omówionych w dalszej części prezentacji) niezbędnych w trakcie „pisania” testowania i uruchamiania programu. Ikona aplikacji, reprezentuje w sposób graficzne dany program i jest szczególnie przydatna, gdy program ten jako funkcja zostaje wykorzystany w innej aplikacji. Na slajdzie widać ponadto umieszczone na płycie czołowej dwa elementy: przełącznik dwupozycyjny (Power) oraz ekran oscyloskopowy (Temperature History). Pierwszy z nich może być (oprócz sterowania programowego) przełączany przez użytkownika. Powszechnie stosowanymi nazwami dla tego typu elementów są: element aktywny, zadajnik, kontrolka. Jeśli zaś chodzi o ekran oscyloskopowy to przeznaczony jest on jedynie to prezentacji danych (choć istnieje możliwość zmiany jego właściwości tak aby także odbierał pewne informacje od użytkownika). Tego typu elementy nazywa się biernymi lub po prostu wyświetlaczami. Pozostałe elementy: opcje wykresu i legenda wykresu służą do zmiany jego opisu i sposobu prezentacji danych.


Podobnie jak w przypadku okna płyty czołowej tak i w oknie diagramu obowiązkowymi jego elementami: pasek narzędzi oraz ikona programu. Funkcje pełnione przez te składniki są analogiczne jak dla okna płyty czołowej. Dodatkowo na pasku narzędzi znajdują się przyciski służące pracy w trybie śledzenia przepływu danych (testowanie) programu. Każdy element płyty czołowej będący: kontrolką bądź wyświetlaczem ma swoją ikonę (terminal) na diagramie. Slajd prezentuje przykładowe okno diagramu, na którym umieszczono potrzebne funkcje i stałe, pętlę while oraz bloki o „tajemniczej” nazwie subVI. Tą nazwą producenci środowiska LabVIEW określają klasyczne funkcje, wykorzystane w bieżącej aplikacji.


W środowisku istnieje rozbudowany system pomocy. Podstawową pomoc można uzyskać poprzez wybór z menu Help -> Show Context Help i naprowadzeniu myszy na wybrany element diagramu. W dedykowanym oknie pojawi się opis wybranego składnika.


Pomoc (Help) dostępna jest również z menu kontekstowego wyświetlanego po naciśnięciu prawym klawiszem myszy na wybranym elemencie. Ten sam efekt można uzyskać poprzez wybór z menu Help -> VI, Function, & How- To Help...



Dostęp do dokumentacji w formie popularnych plików „pdf” uzyskać można poprzez wybór z menu Help -> Search the LabVIEW Bookshelf...


Środowisko LabVIEW oferuje obszerny zestaw przykładów dostępny w postaci uporządkowanej tematycznie biblioteki. Jest ona dostępna z menu Help -> Find Examples...


Począwszy od wersji 7.0 w LabVIEW dostępne są funkcje o nazwie Express VI. Dotyczą one najpopularniejszych operacji wysokiego poziomu, wykonywanych przy pozyskiwaniu, przetwarzaniu i prezentowaniu danych pomiarowych. Charakterystyczną ich cechą jest okno konfiguracyjne, dzięki któremu można sprawnie dokonać niezbędnych ustawień konfiguracyjnych. Poza tym LabView wyposażone jest w ogromy zestaw funkcji określanych mianem Standard VI. W odróżnieniu od Express VI nie posiadają własnego okna konfiguracyjnego. Wykorzystanie obydwu typów funkcji czyni strukturę aplikacji modułową, co czyni ją prostą w rozbudowie, analizie i łatwiejszą w optymalizacji. Cechą charakterystyczną omówionych funkcji jest sposób ich prezentacji na diagramie. Zestaw parametrów wejściowych i wyjściowych umieszczony jest w dolnej części symbolu w postaci listy. Parametry wejściowe oznaczone są z lewej strony strzałeczką w kierunku do wewnątrz bloku, natomiast parametry wyjściowe oznaczane są z prawej strony strzałeczką w kierunku na zewnątrz bloku. podstawowe instrukcje i funkcje jak np.: mnożenie czy sin(x) posiadają jedynie piktogram symbolizujący daną funkcje.


Z oknem diagramu stowarzyszone jest okno funkcji programu. W tym oknie znajdują się uporządkowane tematycznie, wszystkie dostępne w LabVIEW stałe, instrukcje, struktury, pętle i funkcje. Wybór następuje poprzez kliknięcie lub przeciągnięcie wybranej funkcji do obszaru okna diagramu blokowego. Analogicznie, z oknem płyty czołowej stowarzyszone jest okno elementów płyty czołowej, za pomocą którego wybrane elementy można umieszczać na panelu tworzonej aplikacji.


Ostatnim głównym oknem występującym w środowisku LabVIEW jest paleta narzędzi, potrzebnych w czasie pracy przy budowie aplikacji. Począwszy od wersji 6.0 środowisko wyposażone jest w moduł automatycznego wyboru narzędzia pracy (można go włączyć i wyłączyć za pośrednictwem palety), które intuicyjnie podmienia używane przybory. W trybie ręcznego wyboru należy po prostu kliknąć na żądanym elemencie. Początkującemu użytkownikowi zaleca się korzystanie z ręcznego wyboru narzędzi.


Paski narzędzi dostępne w oknach: diagramu i płyty czołowej pozwalają na uruchomienie, zatrzymanie/kontynuację i zakończenie wykonywania programu. Pozwalają także na wykonywanie programu trybie śledzenia przepływu danych. Pasek okna płyty czołowej pozwala dodatkowo na uporządkowanie (wyrównanie i równomierne rozmieszczenie) elementów, które tam się znajdują.


W dalszej części omówiona zostanie prosta aplikacja wyznaczająca sumę i różnicę dwóch wielkości wejściowych.


Na płycie czołowej należy umieścić dwa pola numeryczne (Okno Controls -> Num Ctrls -> Num Ctrl) i opisać je jako A i B. W tym samym oknie należy umieścić dwa pola numeryczne odczytowe (Okno Controls -> Num Inds -> Num Ind). Należy pamiętać o utrzymywaniu porządku na panelu aplikacji. Dobrym zwyczajem jest intuicyjne rozplanowanie elementów płyty czołowej. Po tych operacjach w oknie diagramu pojawią się 4 ikony (terminale) odpowiadające poszczególnym elementom panelu. Zauważyć łatwo iż dwa z nich mają pogrubioną obwódkę i strzałkę w kierunku na zewnątrz ikony - to te, w których użytkownik może wpisać swoje wartości. Pozostałe, mające obwódkę bez pogrubienia i strzałkę w kierunku do wewnątrz ikony służą jedynie do wyświetlenia wyników. Sumowanie i odejmowanie wykonywane w czasie programu zrealizowane zostanie przy pomocy odpowiednich funkcji znajdujących się w oknie Functions -> All functions -> Numeric.


Aby połączyć wszystkie elementy zgodnie ze schematem należy użyć narzędzia „wiring tool” - szpulki z nicią. Wcześniej dla zobrazowania sposobu łączenia, należy kliknąć prawym klawiszem np.: na funkcji odejmującej i z pozycji Visible Items wybrać Terminals. Symbol funkcji odejmującej zmieni kolor na pomarańczowy i podzielony zostanie na trzy pola przy czym jedno z nich otoczone jest grubszym obramowaniem. Kolor pomarańczowy przyporządkowany jest danym zmiennoprzecinkowym (w języku C jest to typ double). Każdy argument funkcji ma swoje pole. Ogólna zasada jest taka że wejścia umieszczane są w miarę możliwości po lewej stronie symbolu funkcji a wyjścia po prawej. Dodatkowo pola argumentów wejściowych są otoczone cienkim obramowaniem a pola argumentów wyjściowych grubym. Można teraz powrócić do pierwotnego wyglądu funkcji odejmowania. Chcąc połączyć ze sobą wybrane elementy należy umieścić szpulkę na polu rozpoczynającym połączenie - pole to zacznie migać. Należy wtedy nacisnąć lewy klawisz myszy i przytrzymując go przeciągnąć połączenie do elementu je kończącego. Gotowość do połączenia tego elementu sygnalizowana jest również poprzez jego miganie. Po wykonaniu wszystkich połączeń widocznych na slajdzie 16 można, przy użyciu narzędzia obsługi płyty czołowej (Operating Tool - symbol wskazującego palca) wprowadzić dane liczbowe i uruchomić program.


W LabVIEW można skorzystać z automatycznego łączenia elementów. W tym celu należy odpowiednie wejście umieszczanej na schemacie blokowym funkcji zbliżyć do odpowiedniego wyjścia bloku, który już jest na schemacie. Połączenie zostanie ustanowione automatycznie. Aby zaznaczyć fragment lub całe połączenie należy korzystając z narzędzia przenoszenia/skalowania (strzałka) kliknąć na nim tak jak na slajdzie. Połączenia również warto porządkować - poprawia to czytelność schematu blokowego.


Czasami zdarzyć się może, że schemat blokowy został zbudowany w sposób nieprawidłowy. W szczególności mogły zostać wykonane zostały połączenia niedozwolone (symbolizowane przez połączenia przerywane). W tego typu sytuacjach również ikona służąca uruchamianiu programu będzie miała postać przerwanej strzałki. Wybór tego symbolu spowoduje wyświetlenie listy błędów. Może zdarzyć się również, że poprawny składniowo program wykonuje swoje zadanie w sposób błędny. W tym przypadku warto jest wykonać go w trybie śledzenia przepływu danych z włączonym śledzeniem wartości wybranych zmiennych programu.


Uruchomienie programu w trybie pokazującym przepływ danych, pokazuje iż bloki funkcjonalne programu wykonują się w ściśle określonych chwilach czasowych wyznaczonych przez momentami dostarczenia danych do wszystkich argumentów tych funkcji. Wyjątkiem są niektóre argumenty wejściowe, które nie są podłączone ale mają ustawioną wartość domyślną. Jeżeli w programie występuje wiele niezależnych ścieżek połączeń, to każdej z nich przydzielony jest osobny wątek. W związku z tym wzajemne relacje czasowe pojawiania się danych na poszczególnych etapach tychże ścieżek są nieokreślone. Jeżeli niezbędne jest zachowanie określonej kolejności, bądź synchronizacji niezależnych ścieżek należy stosować odpowiednie struktury (np.: Sequence) dostępne w LabVIEW.


Poniżej przedstawiono sposób uruchomienia przykładowego programu poprzez Example Finder. W zakładce Search po wpisaniu słowa signals z listy wyników wybrano program: Signal Generation and Processing.vi. program ten można również uruchomić w trybie z „podświetleniem” przepływu danych, zaobserwować sposób działania programu. Można również dokonać własnych modyfikacji programu, nie wyłączając celowego uszkodzenia i ewentualnie następującego po nim przywrócenia stanu pierwotnego.


Kolejny przykład polegać będzie na przeliczeniu wartości temperatury podanej w stopniach Celsjusza na stopnie w skali Fahrenheita,zgodnie z równaniem: oF = 9/5 * oC + 32. Następnie program ten jako funkcja (SubVI) wykorzystany będzie w innej aplikacji. Ta z kolei poddana zostanie rozbudowie o symulator rejestrowanych danych i ekran wyświetlający historię pomiarów.


opis slajdu

opis slajdu

opis slajdu

opis slajdu

opis slajdu

opis slajdu

opis slajdu

]


opis slajdu

opis slajdu

opis slajdu

opis slajdu

opis slajdu

opis slajdu

opis slajdu