Lab. 2 Tablice, struktura warunkowa

Podobne dokumenty
Lab. 3 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

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.

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.

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.

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

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...

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

Synchronizator plików (SSC) - dokumentacja

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

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

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

Programowanie w języku Python. Grażyna Koba

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

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

Podstawy Programowania C++

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

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

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

1 Podstawy c++ w pigułce.

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

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

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

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

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

Co to jest arkusz kalkulacyjny?

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

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

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

Instrukcja użytkowania

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

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

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

Instrukcja obsługi Konfigurator MLAN-1000

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

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

Podstawy użytkowania programu LabView

5.2. Pierwsze kroki z bazami danych

ZROZUMIENIE MODUŁOWOŚCI (Understanding Modularity)

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

System Informatyczny CELAB. Terminy, alarmy

Wstęp do graficznego programowania w środowisku LabVIEW

Rejestracja faktury VAT. Instrukcja stanowiskowa

Podstawy programowania w LabView (2) Instrukcje strukturalne

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Arkusz kalkulacyjny MS Excel 2010 PL.

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

Podstawy programowania w LabView (1)

System Informatyczny Oddziału Wojewódzkiego NFZ

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.

Sekretne menu Start. Przycisk pulpitu

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

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

Dodawanie grafiki i obiektów

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

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

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

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

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

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

Ekran tytułowy (menu główne)

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

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG

Problemy techniczne. Jak umieszczać pliki na serwerze FTP?

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

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

Grant Edukacyjny Engram English

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

Podstawy informatyki

1 Podstawy c++ w pigułce.

Maszyna stanu State Machine

etrader Pekao Podręcznik użytkownika Informacje rynkowe

Al. Akacjowa 16A Wrocław

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

Analiza obwodów elektrycznych z zastosowaniem LabVIEW

Programowanie w języku G - Laboratorium 7

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

Konstrukcje warunkowe Pętle

4.Arkusz kalkulacyjny Calc

1. Wprowadzenie. 1.1 Uruchamianie AutoCAD-a Ustawienia wprowadzające. Auto CAD Aby uruchomić AutoCada 14 kliknij ikonę

Tworzenie dokumentacji 2D

BAZA_1 Temat: Tworzenie i modyfikowanie formularzy.

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

Podstawy programowania w środowisku LabVIEW, program do pomiaru napięcia

Definicje. Algorytm to:

Instrukcja użytkowa programu INTERNET LAB-BIT

Rys.1. Uaktywnianie pasków narzędzi. żądanych pasków narzędziowych. a) Modelowanie części: (standardowo widoczny po prawej stronie Przeglądarki MDT)

ApSIC Xbench: Szybki start wydanie Mariusz Stępień

Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM

Transkrypt:

Lab. 2 Tablice, struktura warunkowa 1 Wprowadzenie (wersja 0.4) 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: 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

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). 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łania tego narzędzia można również nacisnąć Ctrl i klawisz strzałki w dół (Ctrl+ ). 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 (Ctrl+ ). 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. W celu wywołania narzędzia można nacisnąć Ctrl i klawisz strzałki w górę (Ctrl+ ). 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. Sonda znajduje się w palecie narzędzi, którą można otworzyć z menu głównego View Tools palette. 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 Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 3

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 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: Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 4

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). 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). Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 5

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: 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 są do pętli tylko przy pierwszym zliczeniu, natomiast odbierane są z pętli po ostatnim zliczeniu. 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. Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 6

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. 1.8 Konwersja liczby na tekst (ciąg znaków) W celu konwersji liczby do ciągu znaków (ang. String) należy wybrać funkcję Programming String String/Number Conversion 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. Uwaga, funkcja ta przed konwersją zamienia liczbę na 64-bitowy typ całkowity. W celu zamiany liczby zmiennoprzecinkowej (rzeczywistej) na ciąg znaków można użyć funkcji Number to F-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 lub Number to F-String z funkcją Concatenate Strings. Funkcja Concatenate 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. Funkcja Concatenate domyślnie ma dwa wejścia, jednak można zwiększyć liczbę wejść najeżdżając na dolną/górną krawędź ikony i rozciągając w dół/górę. 2 Zadania do wykonania 1. Usuń wszystkie błędy występujące w aplikacji Obsługa błędów. Sprawdź kolejność wykonywania operacji korzystając z Highlight Execution oraz z Single Stepping (czyli Step Into, Step Over, Step Out) (1 pkt.) 2. Napisz VI Dataflow zgodnie z rysunkiem 12. Sprawdź wartość zwróconą przez funkcję random za pomocą narzędzia Probe. (1 pkt.) Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 7

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. Do wyboru operacji należy użyć kontrolki System Enum z palety Controls System Ring & Enum. Wynik powinien być wyświetlony w postaci np: a+b = 5. W przypadku dzielenia przez zero w polu wyniku powinien zostać wyświetlony stosowny komunikat. (2 pkt.) 5. (dodatkowe) Napisz podobny program wykonujący obliczenia na wektorach 3 elementowych (dodawanie, odejmowanie, iloczyn wektorowy oraz iloczyn skalarny). Wykorzystaj operacje na tablicach, zamiast kontrolki Enum, użyj kontrolki Ring. (4 pkt.) Rysunek 12: Przepływ danych (Data Flow) Rysunek 13: Panel przedni (Front Panel) Wydział Fizyki, Politechnika Warszawska - Podstawy Projektowania Przyrządów Wirtualnych 8