lecture05 id 264350 Nieznany

background image

Wirtualne Instrumenty i Systemy

Klastry

Dr inż. Witold Nocoń

background image

Clusters

– sposób na grupowanie zmiennych różnych typów

W tekstowych językach programowania istnieją

rekordy

(PASCAL)

lub

struktury (structures)

(in C).

W LabVIEW mamy klastry (

clusters

).

Podobnie jak w przypadku tablic, dwa kroki
w celu utworzenia:

1. Umieścić Zasobnik Klastra
(

Cluster Shell)

na panelu

2. Do zasobnika wstawić potrzebne elementy.

background image

Clusters

– sposób na grupowanie zmiennych różnych typów

Krok pierwszy:

Cluster Shell

Cluster Terminal

Potrzebne elementy
umieszczone wewnątrz
zasobnika klastra

Krok drugi:

background image

Clusters

– sposób na grupowanie zmiennych różnych typów

Klaster (jako całość) może być albo kontrolką albo wyświetlaczem

Cluster control:

Cluster indicator:

background image

Clusters

– na diagramie

Aby uzyskać składowe klastra należy „rozpleść”

(unbundle)

przewód:

Funkcja unbundle jest

polimorficzna

- jej wygląd zmienia się w zależności

od składowych klastra.

Poszczególne elementy mogą być wyprowadzone

background image

Clusters

– na diagramie

Zauważ, że elementy klastra są uporządkowane w kolejność. To
uporządkowanie

jest niezależne od położenia

elementu wewnątrz

klastra.

Domyślnie, kolejność odpowiada kolejności wstawiania
elementów do zasobnika.

Aby zmienić kolejność, należy z
menu podręcznego klastra wybrać

Reorder Controls in Cluster...

background image

Clusters

– na diagramie

Aby stworzyć klaster na diagramie, należy „spleść” przewody (boundle) :

bundle

UWAGA

: W powyższym przykładzie łatwo popełnić błąd

polegający na niezauważonym przestawieniu kolejności
zmiennych – co może nie doprowadzić do błędu w czasie
kompilacji

background image

Clusters

– na diagramie

Podmiana elementów klastra

• zmienne których wartości nie zostaną połączone, nie ulegną
zmianie

Nie trzeba splatać z powrotem wszystkich wartości

background image

Clusters

– na diagramie

Warto korzystać z funkcji „splatania przez nazwę”, co zapobiega
pomyłkom związanym z zamianą wartości tych samych typów

Bundle by Name

– nazwa zmiennej używana jako identyfikator

zmiennej

Funkcja ta daje się powiększać. Daje też możliwość
wyboru wejść (z których każde musi być połączone)

background image

Clusters

– na diagramie

Unbundle by Name

– umożliwia rozplatanie przy użyciu nazwy

zmiennej jako identyfikatora.

Wyświetlane są tylko wybrane przez programistę elementy.

Nazwy zmiennych powinny być mądrze nazywane – ułatwi
to poruszanie się w programie.

Przykład (nie robiący niczego szczególnego): pro_05_01.vi.

background image

XY Graphs

– teraz się wszystko wyjaśni

Po umieszczeniu XY Graph’a na panelu...

... na diagramie pojawi się terminal
klastra.

Terminal przyjmuje klaster
dwóch wektorów (wektor X
oraz wektor Y):

lub tablicę klastrów wektorów (w
przypadku większej liczby
wykresów):

Przykład: pro_05_02.vi.

background image

Clusters

– dwie przydatne funkcje

Array To Cluster:

Zamienia tablicę 1D na klaster elementów typu elementów
tablic.Przydatne, jeśli chcemy wyświetlić elementy tablica jako
klaster, ale mieć możliwość operowania na nim jak na tablicy

Menu podręczne funkcji umożliwia określenie wielkości klastra
(Cluster Size). Domyślnie 9, maksymalnie 256

background image

Clusters

– dwie przydatne funkcje

Cluster To Array:

Zamiana klastra na tablicę elementów klastra

• Składowymi klastra (

cluster)

nie mogą być tablice.

• Elementy klastra muszą być tego samego typu (dokładnie)

Krótki przykład: pro_05_03.vi.

background image

Przykład – z leksza bardziej zaawansowany - przedsmak przyszłego semestru:

Używając dynamicznie ładowanych funkcji (w dowolnej ilości), potrzebny jest

kontener

w którym

przechowywane będą referencja do wszystkich

załadowanych funkcji

.

Dynamiczne ładowanie funkcji omówimy później (przyszły semestr?).

To co zrobimy teraz to

tablica o zmiennym rozmiarze, zawierająca klastry

.

Klastry zawierać będą dane (nie ważne jakie)

Zapewnić jednak musimy mechanizm, wstawiania nowych klastrów do
kontenera, usuwanie istniejący klastrów z kontenera oraz edytowanie danych
już w kontenerze się znajdujących.

Trzeba też jednoznacznie identyfikować elementy. W tym celu należy
każdemu nowemu elementowi nadać niepowtarzalny

number referencyjny.

Numer ten odróżniał będzie elementy od innych elementów

Rozwiązanie: pro_05_04.vi.


Document Outline


Wyszukiwarka

Podobne podstrony:
lecture8 id 264393 Nieznany
lecture3 id 264379 Nieznany
lecture7 id 264390 Nieznany
lecture5 id 264383 Nieznany
JPA Lecture2 id 228757 Nieznany
lecture2 id 264375 Nieznany
lecture4 id 264381 Nieznany
lecture 14 CUSUM and EWMA id 26 Nieznany
lecture 9 robust design id 2643 Nieznany
Abolicja podatkowa id 50334 Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
katechezy MB id 233498 Nieznany
metro sciaga id 296943 Nieznany
perf id 354744 Nieznany
interbase id 92028 Nieznany
Mbaku id 289860 Nieznany
Probiotyki antybiotyki id 66316 Nieznany
miedziowanie cz 2 id 113259 Nieznany
LTC1729 id 273494 Nieznany

więcej podobnych podstron