Funktionsweise der LabVIEW Arrays und Cluster

Überblick

In diesem Artikel erfahren Sie mehr über die Datentypen von Arrays und Clustern und erhalten eine Einführung in die Erstellung und Bearbeitung von Arrays und Clustern.

Ein Array besteht aus Elementen und Dimensionen. Es ist entweder ein Bedien- oder ein Anzeigeelement. Es kann nicht sowohl Bedien- als auch Anzeigeelemente enthalten. Elemente sind die Daten oder Werte, die im Array enthalten sind. Eine Dimension definiert die Länge, Höhe oder Tiefe eines Arrays. Arrays sind äußerst nützlich, wenn Sie mit einer Auflistung ähnlicher Daten arbeiten und eine Historie von sich wiederholenden Berechnungen speichern möchten.

Array-Elemente unterliegen einer Ordnung. Jedes Element in einem Array hat einen entsprechenden Indexwert. Über den Array-Index können Sie auf ein bestimmtes Element in diesem Array zugreifen. In der Software NI LabVIEW beginnt der Array-Index bei Null. Wenn also ein eindimensionales Array (1D-Array) n Elemente enthält, liegt der Indexbereich zwischen 0 und n-1, wobei Index 0 auf das erste Element im Array und Index n-1 auf das letzte Element im Array verweist.

Mit Clustern können Sie Daten unterschiedlichen Typs in einer Gruppe zusammenfassen. Ein Beispiel für einen Cluster ist der LabVIEW-Fehler-Cluster, der einen booleschen Wert, einen numerischen Wert und einen String enthält. Ein Cluster entspricht einem Record oder Struct in befehlsorientierten Programmiersprachen.

Ähnlich wie bei Arrays ist ein Cluster entweder ein Bedien- oder ein Anzeigeelement. Er kann nicht sowohl Bedien- als auch Anzeigeelemente enthalten. Der Unterschied zwischen Clustern und Arrays besteht darin, dass ein einzelner Cluster eine bestimmte Größe hat, wobei ein einzelnes Array in seiner Größe variieren kann. Außerdem kann ein Cluster verschiedene Datentypen enthalten, ein Array hingegen nur einen.

Erstellen von Array-Bedien- und -Anzeigeelementen

Um ein Array in LabVIEW zu erstellen, müssen Sie einen Array-Container auf dem Frontpanel platzieren und dann ein Element (z. B. numerisch oder boolesches), ein Signalverlauf-Bedienelement oder ein Anzeigeelement im Array-Container platzieren.

  1. Erstellen Sie ein neues VI.
  2. Klicken Sie mit der rechten Maustaste auf das Frontpanel, um die Palette Elemente anzuzeigen.
  3. Navigieren Sie in der Palette Elemente zu Modern » Array, Matrix & Cluster und ziehen Sie den Container Array auf das Frontpanel.

  1. Navigieren Sie in der Palette Elemente zu Modern » Numerisch und verschieben Sie ein numerisches Anzeigeelement in den Container Array.

  1. Positionieren Sie Ihre Maus über dem Array und ziehen Sie an der rechten Seite des Arrays, um es zu erweitern und mehrere Elemente anzuzeigen.

In den vorherigen Schritten wurden Sie durch die Erstellung eines 1D-Arrays geführt. Bei einem 2D-Array werden die Elemente in einem Raster oder in einer Matrix gespeichert. Jedes Element in einem 2D-Array hat zwei entsprechende Indexwerte, einen Zeilenindex und einen Spaltenindex. Wie bei einem 1D-Array beginnen auch die Zeilen- und Spaltenindizes eines 2D-Arrays bei Null.

 

Um ein 2D-Array zu erstellen, müssen Sie zunächst ein 1D-Array erstellen und dann eine Dimension hinzufügen. Kehren Sie zu dem 1D-Array zurück, das Sie zuvor erstellt haben.

  1.  Klicken Sie auf dem Frontpanel mit der rechten Maustaste auf die Indexanzeige und wählen Sie aus dem Kontextmenü die Option Dimension hinzufügen aus.

  1.  Positionieren Sie Ihre Maus über dem Array und ziehen Sie an der Ecke des Arrays, um es zu erweitern und mehrere Zeilen und Spalten anzuzeigen.

Bis zu diesem Punkt waren die numerischen Elemente der von Ihnen erstellten Arrays ausgegraute Nullstellen. Ein ausgegrautes Array-Element signalisiert, dass das Element nicht initialisiert ist. Um ein Element zu initialisieren, klicken Sie in das Element und ersetzen Sie die ausgegraute 0 durch eine beliebige Zahl.

Sie können Elemente mit einem beliebigen Wert initialisieren. Die Werte müssen nicht mit den oben dargestellten Werten übereinstimmen.

Erstellen von Array-Konstanten

Eine Array-Konstante kann zum Speichern von Konstantenwerten oder als Basis für den Vergleich mit einem anderen Array dienen.

  1.  Klicken Sie mit der rechten Maustaste in das Blockdiagramm, um die Palette Funktionen anzuzeigen.
  2. Navigieren Sie in der Palette Funktionen zu Programmierung » Array und ziehen Sie die Array-Konstante in das Blockdiagramm.

  1.  Navigieren Sie in der Palette Funktionen zu Programmierung » Numerisch und verschieben Sie die Numerische Konstante in den Array-Konstanten-Container.

  1. Ändern Sie die Größe der Array-Konstanten und initialisieren Sie einige der Elemente.


Array-Eingänge/-Ausgänge

Wenn Sie ein Array als Eingang mit einer For-Schleife verbinden, bietet LabVIEW die Möglichkeit, den Zählanschluss der For-Schleife mithilfe der Funktion „Auto-Indizierung“ automatisch auf die Größe des Arrays einzustellen. Sie können die Option „Auto-Indizierung“ aktivieren oder deaktivieren, indem Sie mit der rechten Maustaste auf den mit dem Array verbundenen Schleifentunnel klicken und „Indizierung aktivieren“ bzw. „Indizierung deaktivieren“ auswählen.

Wenn Sie die Auto-Indizierung aktivieren, wird jede Iteration der For-Schleife an das entsprechende Element des Arrays übergeben.

Wenn Sie einen Wert als Ausgang einer For-Schleife verbinden, wird durch die Aktivierung der Auto-Indizierung ein Array ausgegeben. Das Array ist so groß wie die Anzahl der Iterationen, die von der For-Schleife ausgeführt werden, und enthält die Ausgabewerte der For-Schleife.

  1. Erstellen Sie ein neues VI. Navigieren Sie zu Datei » Neues VI.
  2. Erstellen und initialisieren Sie zwei 1D-Array-Konstanten mit sechs numerischen Elementen im Blockdiagramm, ähnlich wie die unten gezeigten Array-Konstanten.

  1. Erstellen Sie ein 1D-Array der numerischen Anzeigeelemente auf dem Frontpanel. Ändern Sie den numerischen Typ in ein 32-Bit-Integer. Klicken Sie mit der rechten Maustaste auf das Array und wählen Sie Darstellung » I32.

  1. Erstellen Sie eine For-Schleife im Blockdiagramm und platzieren Sie eine Addieren-Funktion innerhalb der For-Schleife.
  2. Verbinden Sie eine der Array-Konstanten mit der For-Schleife und dann mit dem x-Anschluss der Addieren-Funktion.

  1.  Verbinden Sie die andere Array-Konstante mit der For-Schleife und dann mit dem y-Anschluss der Addieren-Funktion.

  1. Führen Sie den Ausgangsanschluss der Addieren-Funktion aus der For-Schleife und verbinden Sie ihn mit dem Eingangsanschluss des Arrays der numerischen Anzeigeelemente.

  1. Ihr endgültiges Blockdiagramm und Ihr Frontpanel sollten ähnlich aussehen wie unten angezeigt.

  

Blockdiagramm

Frontpanel

  1. Gehen Sie zum Frontpanel und starten Sie das VI. Beachten Sie, dass jedes Element im Array der numerischen Anzeigeelemente mit der Summe der entsprechenden Elemente in den beiden Array-Konstanten gefüllt wird.

Wenn Sie die Auto-Indizierung für mehr als einen Schleifentunnel aktivieren und den Zählanschluss der For-Schleife verbinden, entspricht die Anzahl der Iterationen der jeweiligen Anzahl der kleineren Option. In der folgenden Abbildung ist beispielsweise der Zählanschluss der For-Schleife so eingestellt, dass 15 Iterationen ausgeführt werden, wobei Array 1 10 Elemente enthält und Array 2 20 Elemente enthält. Wenn Sie das VI in der folgenden Abbildung ausführen, wird die For-Schleife 10-mal ausgeführt und das Array-Ergebnis enthält 10 Elemente. Versuchen Sie es selbst.

Sie können ein 2D-Array mit verschachtelten For-Schleifen und Auto-Indizierung erstellen, wie unten gezeigt. Die äußere For-Schleife liefert die Zeilenelemente, die innere For-Schleife die Spaltenelemente.


Erstellen von Clustern

  1.  Erstellen Sie ein neues VI.
  2.  Klicken Sie mit der rechten Maustaste auf das Frontpanel, um die Palette Elemente anzuzeigen.
  3.  Navigieren Sie in der Palette Elemente zu Modern » Array, Matrix & Cluster und ziehen Sie den Container Cluster auf das Frontpanel.

 

  1. Ändern Sie die Größe des Containers Cluster so, dass er groß genug für die Aufnahme mehrerer Elemente ist.

 

  1.  Navigieren Sie in der Palette Elemente zu Modern » Numerisch und verschieben Sie ein numerisches Bedienelement in den Container „Cluster“.

  1. Navigieren Sie in der Palette Elemente zu Modern » String & Pfad und verschieben Sie ein String-Element in den Container „Cluster“.

  1. Navigieren Sie in der Palette Elemente zu Modern » Boolesch und verschieben Sie einen Umschalter (vertikal) in den Container „Cluster“.

  1. Ihr Cluster sollte nun ähnlich aussehen wie unten angezeigt.

Sie können nun die numerischen, String- und booleschen Elemente im gesamten Blockdiagramm mit einer Verbindung anstelle von drei separaten Verbindungen verbinden.

Erstellen von Cluster-Konstanten

Ähnlich wie bei Array-Konstanten können Sie Cluster-Konstanten für den Vergleich mit einem anderen Cluster oder zum Speichern von Konstantenwerten verwenden. Erstellen Sie Cluster-Konstanten auf die gleiche Weise wie Array-Konstanten in den zuvor beschriebenen Schritten.

Wenn Sie bereits ein Cluster-Bedien- oder -Anzeigeelement haben und eine Cluster-Konstante mit den gleichen Datentypen erstellen möchten, kopieren Sie das Cluster-Bedien- oder -Anzeigeelement im Blockdiagramm, klicken Sie mit der rechten Maustaste auf die Kopie und wählen Sie aus dem Kontextmenü In Konstante ändern.

Cluster-Funktionen

In diesem Tutorial wird auf vier Hauptfunktionen eingegangen, die häufig zur Bearbeitung von Clustern verwendet werden. Dies sind die Funktionen Bündeln, Aufschlüsseln, Nach Namen bündeln und Nach Namen aufschlüsseln.

Mit der Funktion Bündeln können Sie Cluster aus individuellen Elementen zusammenstellen. Um Elemente mit der Funktion Bündeln zu verbinden, ändern Sie die Größe der Funktion mit Ihrer Maus oder klicken Sie mit der rechten Maustaste auf die Funktion und wählen Sie Eingang hinzufügen aus dem Kontextmenü.

Mit der Funktion Nach Namen bündeln oder Bündeln können Sie einen vorhandenen Cluster bearbeiten. Sie können die Größe der Funktion Nach Namen bündeln auf dieselbe Weise wie bei der Funktion Bündeln ändern.

 

                                   

                               

Die Funktion Nach Namen bündeln ist sehr nützlich, wenn Sie vorhandene Cluster ändern möchten, da sie Ihnen genau anzeigt, welches Cluster-Element Sie bearbeiten. Betrachten Sie beispielsweise einen Cluster, der zwei String-Elemente mit den Beschriftungen „String 1“ und „String 2“ enthält. Wenn Sie den Cluster mit der Funktion Bündeln bearbeiten, erscheinen die Funktionsanschlüsse in Form von rosafarbenen Buchstaben. Sie wissen nicht, welcher Anschluss „String 1“ und welcher Anschluss „String 2“ ändert.

 

Wenn Sie den Cluster jedoch mit der Funktion Nach Namen bündeln bearbeiten, zeigen die Funktionsanschlüsse die Elementbeschriftung an, sodass Sie wissen, welcher Anschluss „String 1“ und welcher Anschluss „String 2“ ändert.

Mit der Funktion Aufschlüsseln wird ein Cluster in seine einzelnen Elemente aufgegliedert. Mit der Funktion Nach Namen aufschlüsseln werden die Cluster-Elemente ausgegeben, deren Namen Sie angegeben haben. Sie können die Größe dieser Funktionen auf dieselbe Weise wie bei den Funktionen Bündeln und Nach Namen bündeln ändern.

 

Cluster-Elementindex

Cluster-Elemente haben eine logische Reihenfolge, die nicht direkt ihrer Position im Container entspricht. Das erste Element, das Sie in den Cluster einfügen, ist Element 0, das zweite ist Element 1 und so weiter. Wenn Sie ein Element löschen, wird die Nummerierung automatisch angepasst. Durch den Cluster-Elementindex ist auch festgelegt, in welcher Reihenfolge die Elemente als Anschlüsse in den Funktionen Bündeln und Aufschlüsseln im Blockdiagramm angezeigt werden. Zum Anzeigen und Bearbeiten des Cluster-Elementindex klicken Sie mit der rechten Maustaste auf den Rahmen des Clusters und wählen Sie aus dem Kontextmenü die Option Elemente im Cluster neu ordnen aus.

Das weiße Kästchen an den Elementen zeigt ihre aktuelle Position im Cluster-Elementindex an. Das schwarze Kästchen zeigt die neue Position des Elements im Index an. Zum Ändern der Position eines Cluster-Elements geben Sie in das Feld Durch Klick setzen auf eine andere Nummer ein und klicken Sie das Element an. Der Cluster-Elementindex des Elements wird geändert und die Reihenfolge der anderen Elemente wird automatisch entsprechend angepasst. Zum Speichern der Änderungen klicken Sie in der Symbolleiste auf die Schaltfläche Bestätigen. Wenn Sie auf die Schaltfläche Abbrechen klicken, werden die ursprünglichen Einstellungen wiederhergestellt. 

Was this information helpful?

Yes

No