G PROGRAMMING Part #4
Tablice, wykresy, klastry
Tablice Zbiór elementów danych tego samego typu Zastosowanie gromadzenie danych z powtarzalnych operacji odczytu, obliczeń (magazynowanie danych przebiegów zmiennych, z pętli np. 1 wykonanie pętli = 1 wynik) Możliwość składowania do (2x10 31-1) elementów na jeden wymiar tablicy (o ile pozwoli pamięć komputera) Indeksowanie od zera. Ostatni element jednowymiarowej tablicy n-elementowej to n-1. Index = pierwszy widoczny element. Wskaźnik indeksu Elementy tablicy
Tworzenie tablicy Tworzenie tablicy operacja dwustopniowa Zamieszczenie powłoki tablicy Wprowadzenie do tablicy regulatorów lub wskaźników Elementy tablicy: liczbowe, logiczne, łańcuchowe, ścieżki, klastrowe (regulatory lub wskaźniki) Pierwszy wprowadzony element określa typ danych tablicy Jeżeli obiektami tablicy są wykresy, to ich typ danych nie może być tablicą 2 1
Tablice podstawowe operacje Dodawanie wymiaru menu kontekstowe Zmiana wielkości wyświetlanego obszaru mysz Dodawanie tablicy stałych tylko diagram: jak przy zwykłej tablicy procedura dwustopniowa, przekształcenie tablicy standardowej.
Autoindeksowanie Samoczynne indeksowanie wyników działania pętli Domyślne dla pętli FOR Niedomyślnie dla pętli WHILE Autoindeksowanie - oznaczenie tunelu pętli przez nawias kwadratowy - grubsza linia typu danych - wynik przekazywany jest w każdej iteracji Brak autoindeksowania - oznaczenie tunelu pętli przez kolorowy kwadrat --zwykła linia typu danych - wynik przekazywany po zakończeniu pętli
Tablice dwuwymiarowe Pętla wewnętrzna tworzy elementy kolumn Pętla zewnętrzna tworzy elementy wierszy
Pętla For a tablicowe zmienne wejściowe W sytuacji autoindeksowania tablicy wejściowej oraz konfliktu w wartościach liczby iteracji pętli (N) i wymiaru tablicy (X) pętla wykonywana jest tyle razy, na ile wskazuje mniejsza z tych liczb N liczba iteracji pętli N > X wyjściowa tablica X-elementowa X rozmiar tablicy X > N wyjściowa tablica N-elementowa
Tablice popularne funkcje Array Size zwraca liczbę elementów w każdym z wymiarów tablicy Initialize Array tworzy n-elementową tablicę o zadanej wartości elementów
Tablice popularne funkcje Build Array dołącza elementy do istniejącej tablicy (Uwaga: domyślnie stosowane łączenie (menu podręczne Concatenate Inputs))
Tablice popularne funkcje Array Subset zwraca część tablicy począwszy od parametru Array index o długości Array length (stosuje indeksowanie od zera) Index Array zwraca element(y) tablicy o podanym indeksie(ach)
Tablice polimorfizm Polimorfizm możliwość łączenia różnych struktur danych (tutaj wielkości skalarnych i tablic) Polimorfizm statyczny (inaczej programowanie generyczne) - stosowalność tej samej procedury/funkcji do różnych typów argumentów. Skalar Skalar Tablica Skalar Tablica Tablica Tablica Tablica Skalar Tablica Tablica Tablica Skalar dodawany jest do każdego elementu tablicy Dodawane są odpowiadające sobie elementy Tablica wynikowa ma rozmiar mniejszej z tablicy składowych
Wykres Waveform graph Wyświetla pojedyncze wartości jako funkcję y=f(x) Punkty x w jednakowych odległościach na osi x (plus symulacja czasu) Graficznie podobny do waveform chart, ale może wyświetlić wiele punktów w tym samym czasie Bardziej zasobożerny niż waveform chart
Wykres Waveform graph Wykres typowy pojedynczy przebieg, z zerowym punktem początkowym i skokiem równym 1 Wykres zmodyfikowany pojedynczy przebieg, z wybranym punktem początkowym i zadeklarowanym skokiem
Waveform graph wiele przebiegów Kilka typowych przebiegów połączenie danych za pomocą tablicy (Build Array) Kilka przebiegów o zmodyfikowanych ustawieniach
Wykres XY graph W układzie kartezjańskim, wyświetla zestaw punktów o koordynatach x i y
Wykresy natężenia (intensity graph) Wykresy trójwymiarowe Zastosowanie wykresy ukształtowania terenu, natężenia pola, rozkładu temperatury, Trzecia wartość reprezentowana jest za pomocą jednego z 256 kolorów Łatwa konfiguracja znaczników i barw
Klastry Struktura grupująca dane Grupowane dane mogą być różnego typu Podobieństwo z obiektami record (Pascal), struct (C) Wszystkie grupowane w klastrze elementy powinny być podobnego typu pod kątem kierunku przesyłania danych (controls, indicators) Analogia z kablem telefonicznym Pozwala przełamać ograniczenie liczby konektorów panelu czołowego (np. dla SubVI) (28) Ułatwia doprowadzenie sygnału dla wykresów Może uczynić diagram bardziej przejrzystym
Klastry - tworzenie Proces dwuetapowy (jak w przypadku tablicy): wstawienie obszaru klastra na panelu czołowym (A), wprowadzenie elementów do klastra (B). A B
Stałe klastrowe i kolejność obiektów Stała klastrowa - do równoczesnego stosowania danych na wielu obiektach (np. skalowania wielu zmiennych pochodzących z procesu) Kolejność obiektów - typ danych wchodzących/wychodzących z klastra musi się zgadzać z typem zamieszczonych w nim obiektów, - zmiana kolejności na pożądaną menu kontekstowe / Reorder Controls in Cluster A B
Funkcje klastrowe Dostępne z palety All functions / Cluster Dostępne z menu kontekstowego (Cluster palette) Bundle - łączenie danych w formę klastrową - kolejność tworzonego klastra zgodna z kolejnością przyłączania danych UnBundle --rozłączanie z formy klastrowej - kolejność zgodna z kolejnością klastra (przyłączania danych)
Funkcje klastrowe BundleByName - łączenie danych w formę klastrową - modyfikowanie danych klastrowych w oparciu nazwę zmiennej (danej) UnBundleByName --rozłączanie postaci klastrowej z oznaczeniem nazwy dla konkretnego źródła danych
Funkcje klastrowe Cluster to Array Konwertuje klaster elementów tego samego typu danych na jednowymiarową tablicę danych tego samego typu. Array to Cluster Konwertuje jednowymiarową tablicę elementów do postaci klastra. Cel - wyświetlanie elementów w innej kolejności, w innej postaci. Konieczna deklaracja rozmiaru klastra (domyślnie 9, maksymalnie 256).
Podsumowanie Tablica stanowi zbiór elementów tego samego typu liczbowych, logicznych, łańcuchowych, Tworzenie tablic i klastrów (regulatorów lub wskaźników) jest procesem dwustopniowym: Zamieszczenie powłoki tablicy/klastra na panelu Wprowadzenie wymaganych elementów (regulatorów lub wskaźników) Pętle wspomagają tworzyć tablice (autoindeksowanie) Funkcje arytmetyczne w LabVIEW są polimorficzne pozwalają na wykonywanie operacji na różnych typach danych Wyświetlenie danych możliwe jest na różnych typach wykresów: Waveform chart, waveform graph i XY graph wyświetlanie jednego lub więcej przebiegów Klastry mogą gromadzić dane różnych typów Funkcje Bundle i Unbundle ułatwiają wprowadzanie i używanie danych klastrowych
End of Part #4