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.
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.
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.
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.
Eine Array-Konstante kann zum Speichern von Konstantenwerten oder als Basis für den Vergleich mit einem anderen Array dienen.
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.
Blockdiagramm
Frontpanel
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.
>
Sie können nun die numerischen, String- und booleschen Elemente im gesamten Blockdiagramm mit einer Verbindung anstelle von drei separaten Verbindungen verbinden.
Ä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.
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-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.