Weiterleiten von Werten zwischen Schleifeniterationen in LabVIEW

Behandelte Themen

Beim Programmieren mit Schleifen müssen Sie häufig auf Daten vorhergehender Schleifeniterationen zurückgreifen. Wenn Sie zum Beispiel während jeder Iteration einen Wert erfassen und anschließend von fünf Werten den Durchschnitt ermitteln sollen, benötigen Sie die Werte vorheriger Schleifendurchläufe.

Schieberegister

 

Video: Schieberegister

Wenn Werte von einem Durchlauf in den nächsten übernommen werden sollen, empfiehlt sich die Verwendung von Schieberegistern. Ein Schieberegister besteht aus zwei Anschlüssen, die sich an den Längsseiten der Schleife gegenüber liegen.

Der Anschluss an der rechten Seite der Schleife (durch einen Pfeil nach oben gekennzeichnet) speichert die Werte jedes Durchlaufs. Diese werden jeweils in den nächsten Durchlauf übernommen. Nachdem die Schleife ausgeführt wurde, gibt der rechte Schleifenanschluss den letzten Wert des Schieberegisters aus.

Zum Erstellen eines Schieberegisters klicken Sie mit der rechten Maustaste auf den linken oder rechten Rand einer Schleife und wählen Sie aus dem Kontextmenü die Option "Schieberegister hinzufügen" aus.

Mit Schieberegistern kann jeder beliebige Datentyp übertragen werden, da Schieberegister automatisch den Datentyp des ersten mit ihnen verbundenen Objekts annehmen. Die Daten, die an den gegenüberliegenden Anschluss eines Schieberegisters übergeben werden, müssen vom gleichen Typ sein.

Eine Schleife kann auch mehrere Schieberegister enthalten. Dadurch können die Werte verschiedener Operationen in die jeweils nächste Schleifenausführung übernommen werden (vgl. Abbildung 1).

Abbildung 1: Verwendung von mehreren Schieberegistern

Initialisierung von Schieberegistern

Durch Initialisieren des Schieberegisters wird der Wert festgelegt, der beim Start des VIs an den ersten Schleifendurchlauf übergeben wird. Zum Initialisieren eines Schieberegisters verbinden Sie den Anschluss auf der linken Seite der Schleife mit einem Bedienelement oder einer Konstante (vgl. Abbildung 2).

Abbildung 2: Initialisiertes Schieberegister

In Abbildung 2 sehen Sie eine For-Schleife, die fünfmal ausgeführt wird. Der Wert des Schieberegisters wird dabei jeweils um eins erhöht. Nach fünf Durchläufen der For-Schleife gibt das Schieberegister den Endwert 5 an das Anzeigeelement weiter und das VI wird abgebrochen. Bei jeder VI-Ausführung beginnt das Schieberegister mit dem Wert 0. Wenn Sie das Schieberegister nicht initialisieren, wird als Anfangswert für die Schleifenausführung entweder der Endwert der letzten Schleifenausführung oder der Standardwert für den entsprechenden Datentyp verwendet. Mit nicht initialisierten Schieberegistern können z. B. Statusinformationen für die nachfolgende Ausführung des VIs gespeichert werden.

Abbildung 3: Nicht initialisiertes Schieberegister

In Abbildung 3 sehen Sie eine For-Schleife, die fünfmal ausgeführt wird. Der Wert des Schieberegisters wird dabei jeweils um eins erhöht. Bei der ersten Ausführung des VIs startet das Schieberegister mit dem Wert 0. Das ist die Voreinstellung für 32-Bit-Integer. Nach fünf Durchläufen der For-Schleife gibt das Schieberegister den Endwert 5 an das Anzeigeelement weiter und das VI wird abgebrochen. Bei der nächsten VI-Ausführung beginnt das Schieberegister mit dem Wert 5, also dem letzten Wert der vorhergehenden Ausführung. Nach fünf Durchläufen der For-Schleife gibt das Schieberegister den Endwert 10 an das Anzeigeelement weiter. Bei einer erneuten VI-Ausführung beginnt das Schieberegister mit dem Wert 10 und so weiter. Nicht initialisierte Schieberegister behalten den Wert des vorangegangenen Durchlaufs bei, bis das VI geschlossen wird.

Gestapelte Schieberegister

Über gestapelte Schieberegister haben Sie die Möglichkeit, auf die Werte vergangener Schleifendurchläufe zuzugreifen. Mit Hilfe von gestapelten Schieberegistern können die Werte mehrerer vorangegangener Schleifendurchläufe gespeichert und in die nachfolgenden übertragen werden. Zum Erstellen eines gestapelten Schieberegisters klicken Sie den linken Anschluss mit der rechten Maustaste an und wählen Sie aus dem Kontextmenü die "Option Element" hinzufügen aus.

Gestapelte Schieberegister kommen nur an der linken Seite der Schleife vor, da über den rechten Anschluss nur die Werte des aktuellen Schleifendurchlaufs an den nächsten übertragen werden.

Abbildung 4: Verwendung von gestapelten Schieberegistern

Wenn in der Abbildung dem linken Anschluss ein weiterer hinzugefügt wird, werden die Werte der letzten zwei Durchläufe in den nächsten übertragen, wobei der neuere Wert immer im oberen Schieberegister gespeichert wird. Im unteren Anschluss befindet sich der Wert der vorherigen Ausführung.

Erlernen Sie die LabVIEW-Grundlagen auf eine neue Art

Besuchen Sie auch unsere neuen, interaktiven Lehrvideos zum Erlernen der LabVIEW-Grundlagen.

Weiter

Zurück Ausführungsstrukturen
Fehlerbehandlung Weiter