Lab. 3 Tablice, struktura warunkowa

Podobne dokumenty
Lab. 2 Tablice, struktura warunkowa

Robert Barański, AGH, KMIW For Loops While Loops v1.0

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

Lab. 3 Typy danych w LabView, zapis do pliku

LabVIEW PLATFORMA EDUKACYJNA Lekcja 1 Pierwsze kroki w środowisku LabVIEW

Robert Barański, AGH, KMIW Arrays and Clusters v1.0. Poniższy poradnik wprowadza do tworzenia oraz obsługi tablic i typów danych klastra.

Lab. 3 Typy danych w LabView, zapis do pliku

Tworzenie i zapis plików w VI

VI od podstaw. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 30 minut.

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Reprezentacja zmiennych numerycznych

Robert Barański, AGH, KMIW Struktura petli v1.1. Instrukcja użycia dla For Loop lub While Loop w celu kontrolowania powtarzających się czynności Loop.

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

1. CEL ĆWICZENIA Celem ćwiczenia jest zapoznanie studentów ze środowiskiem LabVIEW oraz podstawami programowania w języku graficznym G.

Spis treści 1. Wstęp Logowanie Główny interfejs aplikacji Ogólny opis interfejsu Poruszanie się po mapie...

Synchronizator plików (SSC) - dokumentacja

Programowanie w języku Python. Grażyna Koba

Instrukcja wprowadzania graficznych harmonogramów pracy w SZOI Wg stanu na r.

PRZYRZĄDY WIRTUALNE. Część 6 Macierze, klastry, wzory. Prof. Krzysztof Jemielniak

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Jak przesłać mapę do urządzenia lub na kartę pamięci?

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Podstawy Programowania C++

1. Wstęp Niniejszy dokument jest instrukcją użytkownika dla aplikacji internetowej DM TrackMan.

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Robert Barański, AGH, KMIW State Machine v1.0. Maszyna stanów (State Machine)

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Co to jest arkusz kalkulacyjny?

Instrukcje cykliczne (pętle) WHILE...END WHILE

Instrukcja użytkowania

Instrukcja obsługi Konfigurator MLAN-1000

Ćw. 2. Wprowadzenie do graficznego programowania przyrządów pomiarowych

1 Podstawy c++ w pigułce.

Modelowanie układów sekwencyjnych w LabView - ćwiczenie 8

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

INSTRUKCJA OBSŁUGI DIODOWEGO WYŚWIETLACZA TEKSTÓW PIEŚNI STEROWANEGO Z TABLETU 10,1 '

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Pętle. Dodał Administrator niedziela, 14 marzec :27

5.2. Pierwsze kroki z bazami danych

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium przyrządów wirtualnych. Ćwiczenie 3

Rejestracja faktury VAT. Instrukcja stanowiskowa

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

System Informatyczny CELAB. Terminy, alarmy

Zaznaczanie komórek. Zaznaczenie pojedynczej komórki polega na kliknięciu na niej LPM

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

LABORATORIUM SYSTEMÓW POMIAROWYCH KTP IR PW MATERIAŁY POMOCNICZE DO ĆWICZENIA 1 SYMULATOR SYSTEMU POMIAROWEGO W STANDARDZIE IEC-625.

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

PRZEWODNIK PO ETRADER ROZDZIAŁ XII. ALERTY SPIS TREŚCI

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

LabVIEW PLATFORMA EDUKACYJNA Lekcja 6 LabVIEW i Arduino programy wykorzystujące wyświetlacz LCD, czujnik temperatury, PWM i diodę LED

Komputerowe wspomaganie eksperymentu 5

I. Program II. Opis głównych funkcji programu... 19

2017 Electronics For Imaging, Inc. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym

Arkusz kalkulacyjny MS Excel 2010 PL.

Wstęp do graficznego programowania w środowisku LabVIEW

UONET+ - moduł Sekretariat. Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów?

Krótki kurs obsługi środowiska programistycznego Turbo Pascal z 12 Opracował Jan T. Biernat. Wstęp

1. Indeksy/indeksowanie : Do elementów wektora, list, macierzy czy ramek, można się odwołać na kilka sposobów.

Europejski Certyfikat Umiejętności Komputerowych. Moduł 3 Przetwarzanie tekstów

Grant Edukacyjny Engram English

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

Sekretne menu Start. Przycisk pulpitu

ZROZUMIENIE MODUŁOWOŚCI (Understanding Modularity)

KOMPUTEROWE METODY SYMULACJI W ELEKTROTECHNICE I ELEKTRONICE. ZASADA DZIAŁANIA PROGRAMU MICRO-CAP

Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu

Maszyna stanu State Machine

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG

Ekran tytułowy (menu główne)

Politechnika Wrocławska, Katedra Inżynierii Biomedycznej Systemy Pomiarowo-Diagnostyczne, laboratorium

Konstrukcje warunkowe Pętle

Problemy techniczne. Jak umieszczać pliki na serwerze FTP?

Podstawy programowania w LabView (2) Instrukcje strukturalne

System Informatyczny Oddziału Wojewódzkiego NFZ

Podstawy użytkowania programu LabView

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

etrader Pekao Podręcznik użytkownika Informacje rynkowe

1 Podstawy c++ w pigułce.

Synteza układów kombinacyjnych metodą tablic Karnaugha - ćwiczenie 10

PRZEWODNIK PO ETRADER PEKAO ROZDZIAŁ XVI. INFORMACJE RYNKOWE SPIS TREŚCI

Serwis PTF Dodanie informacji bieżącej w podserwisie oddziału

4.Arkusz kalkulacyjny Calc

Padlet wirtualna tablica lub papier w Internecie

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

UMOWY INSTRUKCJA STANOWISKOWA

Warsztaty dla nauczycieli

w w w. m o f e m a. c o m

Instrukcja ręcznej konfiguracji połączenia z Internetem przez. modem ED77 w systemie Windows XP

Dodawanie grafiki i obiektów

RF-graph 1.2 POMOC PROGRAMU

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

Instrukcja rejestracji na zajęcia WF

Cw.12 JAVAScript w dokumentach HTML

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007

Główne elementy zestawu komputerowego

ApSIC Xbench: Szybki start wydanie Mariusz Stępień

Moduł rozliczeń w WinSkład (od wersji 18.40)

Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM

Transkrypt:

Lab. 3 Tablice, struktura warunkowa 1 Wprowadzenie Marzena M. Tefelska, Filip A. Sala 1.1 Sposób wyszukiwania i usuwania błędów Jeżeli na diagramie blokowym pojawi się przerywana linia z czerwonymi przekreśleniami (rys. 1) to oznacza, że w kodzie znajdują się błędy i w takiej postaci program nie zostanie skompilowany. Informuje o tym również szara złamana strzałka (rys. 2a). Po jej naciśnięciu automatycznie otworzy się okno z listą błędów (rys. 1). Okno obsługi błędów można również przywołać za pomocą skrótu Ctrl + L lub poprzez panel górny View Error list. Dwukrotne kliknięcie lewym przyciskiem myszy na każdym wierszu listy błędów (lub naciśnięcie przycisku Show Error) przenosi do obszaru diagramu, który należy poprawić. Dopiero po prawidłowym połączeniu wszystkich terminali program może zostać uruchomiony, co sygnalizuje cała strzałka (rys. 2b) na panelu uruchomienia. Rysunek 1: Błędne połączenie danych (po lewej) oraz okno listy błędów (po prawej). Błędne połączenia można usunąć wywołując opcje Edit Remove Bad Wires. Przydatne skróty klawiszowe: Ctrl+B usunięcie wszystkich źle podłączonych linii danych Ctrl+H pokazanie pomocy kontekstowej (ważne) Ctrl+E przełączanie pomiędzy oknami płyty czołowej i diagramu Ctrl+Z cofnięcie ostatnio wykonywanych operacji Ctrl+? przełączenie okna w tryb pełnoekranowy Ważne: Gdy nie wiemy jak dana funkcja działa należy uruchomić okno pomocy kontekstowej poprzez menu Help Show Context Help lub za pomocą skrótu klawiszowego Ctr+H. Po najechaniu kursorem myszy na funkcję, która nas interesuje, w oknie pomocy pojawi się krótki opis jej działania. 1.2 Odpluskwianie (ang. Debugging) Debugowanie (odpluskwianie) programu jest to systematyczne redukowanie błędów w programie. Przyciski na górnym panelu diagramu blokowego (rys. 2c) odpowiadają za sekwencyjne uruchamianie kodu. Poniżej omówione zostaną podstawowe funkcje służące do debugowania: Retain wire values (rys. 2d) - opcja powodująca zapamiętanie wartości zmiennych na każdym połączeniu, dzięki temu można później obejrzeć te wartości debugując program przy użyciu sondy (ang. probe). Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 1

Rysunek 2: Wykaz ważnych ikon Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 2

Start Into (rys. 2e) - umożliwia wykonanie programu krok po kroku (od węzła do węzła) za każdym razem zatrzymując działanie programu. W przypadku struktury bądź subvi wykonuje krok po kroku wewnętrzne funkcje. Każdy węzeł miga w momencie kiedy jest gotowy do wykonania. W celu wywołanie tego narzędzia można również nacisnąć Ctrl i klawisz strzałki w dół. Start Over (rys. 2f) - Podobnie jak Step Into z tą różnicą, że wykonuje całą strukturę, subvi na raz bez wnikania do funkcji wewnętrznych. W celu wywołania narzędzia można nacisnąć Ctrl i klawisz strzałki w prawo. Step Out (rys. 2g) - kończy wykonywanie bieżącego węzła programu i zatrzymuje się. Kiedy program kończy się wykonywać przycisk Step Out jest nieaktywny. Zastosowanie narzędzia Breakpoint (rys. 2h) umożliwia zaznaczenie na diagramie punktów, w których program się zatrzyma. Program zatrzymuje się po dotarciu do Breakpointa i czeka na działanie użytkownika. Gdy wciśnięty jest przycisk żarówki (świeci się) to podczas wykonania programu wizualizowany jest przepływ danych w kodzie. Pokazywana jest kolejność wykonywane poszczególnych fragmentów kodu (rys. 2i). Narzędzie Probe data (rys. 2j) jest to sonda, która mierzy i wyświetla aktualne dane/wartości z danej sekwencji działającego programu. 1.3 Pętla While (ang. While Loop) Pętla While znajduje się w Functions Structures. Pętla ta powtarza działanie programu subdiagramu znajdującego się wewnątrz pętli do momentu spełnienia warunku końca pętli. O warunku końca pętli decyduje ikona w prawym dolnym rogu. Na rysunku 3 przedstawiono dwa różne warunki końca pętli. Warunek ten sprawdzany jest tuż po wykonaniu pętli. Można zmienić jego zachowanie klikając prawym przyciskiem myszy na ikonce i wybierając Stop if True lub Continue if True. Niebieska litera i jest licznikiem iteracji, jej wartość zawsze zaczyna się od zera. Rysunek 3: Przykład dwóch warunków końca pętli. Pętla po lewej wykonywana będzie do momentu, gdy na kontrolce warunku końca pętli (w prawym dolnym rogu) pojawi się stan TRUE. W przypadku pętli po prawej, będzie ona wykonana tak długo jak na kontrolce będzie panował stan TRUE. 1.4 Struktura Case (ang. Case Structure) W celu dodania struktury case należy z palety funkcji Functions wybrać Programming, a następnie Structure. Case Structure jest to struktura decyzyjna - wyboru. Funkcjonalnie odpowiada ona instrukcji if... then... else i switch znanej z języka C. Case Structure posiada minimum dwie ramki. Na podstawie wartości zmiennej umożliwia wybranie i wykonanie właściwego fragmentu programu. Akceptuje zmienne logiczne, numeryczne i tekstowe oraz specjalną zmienną informującą o błędzie. Ma postać nakładających się na siebie ramek (które przyjmują wartość TRUE lub FALSE). W każdej z nich umieszcza się kod odpowiadający danemu przypadkowi. Ramki wykonywane są w zależności od stanu wejścia wyboru/selekcyjnego Case Selektor (zielony znak zapytania). Case Selektor jest wartością używaną do określenia, które zadanie z pętli należy wykonać i jest równoważny przedstawionemu poniżej pseudokodowi: Gdzie Case selector ma wartości A,B,C, a X to zmienna if(x == A) wykonaj przypadek dla A if(x == B) wykonaj przypadek dla B if(x == C) wykonaj przypadek dla C Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 3

else wykonaj przypadek domyślny 1.5 Tablice Rysunek 4: Struktura Case Tablica jest złożoną strukturą danych i składa się z elementów tego samego typu i wymiarów. Elementami są uporządkowane dane lub wartości zawarte w tablicy, gdzie każdy element w tablicy ma odpowiednią wartość indeksu. Odwołując się do indeksu można uzyskać dostęp do konkretnego elementu tablicy. W Labview indeksowanie tablicy zaczyna się od zera. Oznacza to, że jednowymiarowa (1D) tablica zawiera n elementów, natomiast zakres indeksu wynosi od 0 do n-1, gdzie indeks 0 oznacza pierwszy element, a indeks n-1 ostatni element tablicy. Tablica może przechowywać kontrolki i wskaźniki, ale nie jednocześnie, czyli musi przechowywać zmienne jednego typu. Wymiar tablicy stanowi długość, wysokość lub głębokość. Aby utworzyć jednowymiarową (1D) tablicę w LabVIEW, należy umieścić ikonę tablicy na przednim panelu (rys. 5), a następnie wewnątrz tablicy umieścić element np. numeryczny, logiczny lub wskaźnik (rys. 6). Rysunek 5: Rysunek 6: Następnie należy umieścić kursor myszy na tablicy i przeciągnąć go w prawą stronę aby rozwinąć i wyświetlić wiele elementów (rys. 7). Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 4

Rysunek 7: Tablica dwuwymiarowa (2D) przechowuje elementy w siatce lub macierzy. Każdy element w dwuwymiarowej tablicy ma dwa odpowiadające wartości indeksu: indeks wiersza i indeks kolumny. Tak samo jak dla tablicy 1D, indeksowanie wiersza i kolumny zaczyna się od zera. Abu utworzyć tablicę 2D najpierw należy utworzyć tablicę 1D, a następnie dodać do niej wymiar. Na utworzonej poprzednio tablicy 1D na wyświetlaczu indeksu należy kliknąć prawym przyciskiem myszy i wybrać opcję Add Dimension - Dodaj wymiar (rys. 8). Rysunek 8: Następnie należy złapać róg tablicy i przeciągnąć w celu wyświetlenia wielu wierszy i kolumn (rys. 9). Rysunek 9: Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 5

Jak widać wartości w tablicy mają szary kolor co oznacza, że elementy są niezainicjowane. Aby zainicjować element należy kliknąć wewnątrz elementu i wpisać wartość (rys. 10). 1.6 Tunelowanie Rysunek 10: Tuneli używamy do wprowadzania i wyprowadzania danych z wnętrza struktury pętli. Jeśli chcemy przesłać dane do naszej pętli, musimy zbudować strukturę tuneli. Dane przesyłane do pętli są tylko przy pierwszym zliczaniu, natomiast dane odbierane z pętli po ostatnim zliczaniu. Jeśli chcemy zebrać dane do tabeli np. z pętli While Loop należy przetunelować dane poprzez podłączenie tablicy poza pętlą z automatycznym indeksowaniem tunelu (auto-indexed tunnel). Aby włączyć automatyczne indeksowanie należy prawym przyciskiem myszy kliknąć na kwadraciku i wybrać Indexing. Rysunek 11: Przykład tunelowania z indeksowaniem. Po lewej stronie brak indeksowania, po prawej Autoindexed tunnel 1.7 Generowanie opóźnień Do generowania opóźnień służy Wait (ikonka zegarka) i Wait until next ms multiple (metronom). Można je znaleźć w Functions Programming Timing. Opóźnienie (Wait)polega na tym, iż czeka określoną ilość milisekund i zwraca wartość licznika w milisekundach. Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 6

1.8 Konwersja tekstu na liczby W celu konwersji liczby do ciągu znaków należy wybrać funkcję Programming String Number String i wybrać jedną z dostępnych funkcji. W celu konwersji liczby do ciągu znaków w formacie dziesiętnym należy użyć funkcji Number to Decimal String. W celu zamiany kilku liczb na ciągi znaków, a następnie połączenia ich w jeden ciąg znaków należy połączyć Number to Decimal String z funkcją Concatenate Strings Function. Funkcja ta skleja ciągi znaków oraz tablice ciągów znaków w jeden ciąg wyjściowy. Gdy na wejściu jest tablica to funkcja ta skleja każdy element tablicy. 2 Zadania do wykonania 1. Usuń wszystkie błędy występujące w aplikacji Obsługa błędów (1 pkt.) 2. Napisz VI Dataflow zgodnie z rysunkiem 12. Sprawdź kolejność wykonywania operacji korzystając z Highlight Execution oraz z Single Stepping. Sprawdź wartość zwróconą przez funkcję random za pomocą narzędzia Probe. (1 pkt.) 3. Zbuduj generator liczb, który będzie losować liczby całkowite z przedziału [0, 1000]. Napisz program, który będzie się zatrzymywać automatycznie w chwili wylosowania liczby zadeklarowanej przed uruchomieniem programu. Program powinien wyświetlać: aktualnie wylosowaną liczbę, liczbę losowań, które miały miejsce do chwili zatrzymania VI, tablicę zawierającą wszystkie liczby wylosowane w czasie, kiedy program był uruchomiony. Aby zaobserwować działanie programu, dodaj do pętli opóźnienie 10ms. (2 pkt.) 4. Napisz program Liczydło. Stwórz frontpanel zgodnie z rysunkiem 13. Program powinien umożliwiać wykonanie dodawania, odejmowania, dzielenia, mnożenia, potęgowania a b. Wynik powinien być wyświetlony w postaci np: a+b = 5. W przypadku dzielenia przez zero w polu wynik powinien zostać wyświetlony stosowny komunikat. (2 pkt.) 5. (dodatkowe) Napisz podobny program wykonujący obliczenia na wektorach 3 elementowych (dodawanie, odejmowanie, iloczyn wektorowy). Wykorzystaj operacje na tablicach, zamiast kontrolki Enum, użyj Ring Control. (4 pkt.) Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 7

Rysunek 12: Przepływ danych (Data Flow) Rysunek 13: Panel przedni (Front Panel) Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 8