For-Schleife

Führt das Unterdiagramm n Mal aus.

Der Iterationsanschluss liefert den aktuellen Wert des Schleifenzählers, welcher von 0 bis n-1 zählt.

Ein-/Ausgänge

Iteration

Aktuelle Zählung der Schleifeniterationen. Die Zählung beginnt immer bei 0 für die erste Iteration.

Die maximale Anzahl an Iterationen ist 2.147.483.647 oder 231 -1.

Wenn mehr Iterationen gezählt werden sollen, arbeiten Sie mit Schieberegistern.

1378

Anzahl

Anzahl der Ausführungen des Programmcodes in der For-Schleife. Wenn Sie 0 oder einen negativen Wert mit dem Zählanschluss verbinden, wird die Schleife nicht ausgeführt.

Dieser Anschluss gibt auch den Schleifenzählwert aus.

1378

Tunnel

Punkt im Rahmen einer Struktur, durch den Daten fließen.

Tunnel können auch den folgenden Funktionsumfang haben:

  • 1378 Letzten Wert beibehalten—Leitet die Daten durch den Schleifenrahmen.
  • 1378 Werte automatisch indizierenBei einer Schleifeniteration kann entweder ein Element eines Arrays verarbeitet werden, wenn der Tunnel ein Eingang ist, oder es können Teildaten an ein Array angehängt werden, wenn der Tunnel ein Ausgang ist. Zum Aktivieren der automatischen Indizierung für einen Tunnel klicken Sie mit der rechten Maustaste auf den Tunnel und wählen Sie Anhängemodus » Werte automatisch indizieren.
  • 1378 Verknüpfen—Hängt alle Elemente eines Eingangs-Arrays ihrer Reihenfolge nach an ein Ausgangs-Array an, das die gleiche Dimensionsanzahl hat wie das Eingangs-Array. Mit diesem Tunnel werden Arrays auf die gleiche Weise wie mit dem Knoten Array erstellen verknüpft.
  • Sie können eine bedingte Ausgabe für jeden Tunneltyp konfigurieren, indem Sie den Tunnel auswählen und auf der Registerkarte Objekt die Option Bedingte Ausgabe auswählen. Wenn die bedingte Eingabe für den Tunnel "True" ist, schreibt die Schleife die entsprechenden Werte in den Tunnel. Wenn die bedingte Eingabe für den Tunnel "False" ist, schreibt die Schleife die entsprechenden Werte nicht in den Tunnel.

    1378

    Schieberegister

    Bestandteil eines Anschlusspaars, das einen Wert von einer Schleifeniteration an die nächste übergibt. Nach der ersten Schleifeniteration gibt das linke Schieberegister den empfangenen Wert an das rechte Schieberegister der vorherigen Iteration zurück.

    Unter Zugreifen auf Daten aus der vorherigen Schleifeniteration finden Sie mehr Informationen zum Übergeben von Werten aus vorherigen Iterationen an aktuelle Iterationen.

    1378

    Schieberegister erstellen

    Fügt ein Paar von Schieberegistern zur Schleife hinzu, um Daten von einem Schleifendurchlauf an den nächsten zu übertragen.

    1378

    Examples

    Die folgende Abbildung zeigt die Ausgangswerte für einen Tunnel und Schieberegister nach null Schleifendurchläufen.


    1378

    Ausgang Panel-Anzeigeelement Kommentare
    A
    1378

    Wenn eine For-Schleife null Mal ausgeführt wird, wird von jedem Ausgangstunnel der For-Schleife der Standardwert für den Datentyp des Tunnels ausgegeben.
    B
    1378

    Jedes Ausgangs-Schieberegister gibt den mit dem Eingang des linken Schieberegisters verbundenen Wert aus.
    C
    1378

    Wenn des Eingangs-Schieberegister nie einen Wert enthielt, gibt das Ausgangs-Schieberegister den Standardwert für den Datentyp des Registers aus.
    Suchen Sie in der Programmierumgebung nach den folgenden installierten Beispielen:
    • Einfache For-Schleife
    • Schleifentunnelmodi

    Programming Patterns

    • Wiederholen von Arbeitsgängen so oft wie angegeben
    • Wiederholen von Arbeitsgängen für die einzelnen Elemente in einem Array

    Steuern des Schleifen-Timings

    Weitere Informationen zur Steuerung der Ausführungsgeschwindigkeit einer Schleife finden Sie unter Schleifen-Timing.

    Zugreifen auf Daten aus der vorherigen Schleifeniteration

    Unter Zugreifen auf Daten aus der vorherigen Schleifeniteration finden Sie mehr Informationen zum Übergeben von Werten aus vorherigen Iterationen an aktuelle Iterationen.

    Funktionsweise von Tunnel und Schieberegister nach null Iterationen

    Wenn Sie Daten direkt durch eine For-Schleife leiten, die null Mal ausgeführt wird, zeigen alle mit den Ausgangstunneln verbundenen Ausgangsanschlüsse den Standardwert für den Datentyp an. Alle mit Ausgangsanschlüssen verbundenen Anzeigeelemente zeigen die mit dem Eingangs-Schieberegister verbundenen Daten an. Wenn das Eingangs-Schieberegister nie einen Wert enthielt, zeigt das Ausgangs-Schieberegister den Standardwert für den Datentyp des Registers an. Weitere Informationen finden Sie im Abschnitt Beispiele.

    For-Schleife - Funktionsweise der Iterationszählung bei einem automatisch indizierenden Eingangstunnel

    Wenn Sie keinen Wert mit dem Zählanschluss verbinden, während die Auto-Indizierung aktiviert ist, wird die Schleife automatisch einmal für jedes Element im Array ausgeführt.

    Das Verbinden eines Werts mit dem Zählanschluss bei aktivierter Auto-Indizierung bewirkt, dass die For-Schleife den kleinsten der möglichen Werte bezüglich Zählanschluss und Eingangs-Array-Größe verwendet, um die Anzahl der Schleifenausführungen festzulegen. Wenn z. B. an der Schleife ein automatisch indiziertes Array mit zehn Elementen anliegt, und Sie den Zählanschluss mit dem Wert 15 verbinden, wird die Schleife zehnmal ausgeführt.

    Eine For-Schleife kann mit Hilfe mehrerer automatisch indizierender Tunnel mehrere Arrays elementweise verarbeiten. In diesem Fall wird die Anzahl der Schleifeniterationen anhand der kleinsten Array-Größe bestimmt. Wenn beispielsweise an der Schleife zwei automatisch indizierte Arrays anliegen (eines davon mit 10 und das andere mit 20 Elementen), wird die Schleife zehnmal ausgeführt und alle Elemente des ersten Arrays sowie die ersten zehn Elemente des zweiten Arrays verarbeitet.

    For-Schleife - Funktionsweise der Auto-Indizierung für Arrays

    Wenn Sie für einen Tunnel die Option Auto-indizierte Werte festlegen, indiziert die Schleife Skalarelemente aus 1D-Arrays, 1D-Arrays aus 2D-Arrays und so weiter. Das Gegenteil geschieht an Ausgangstunneln. Skalarelemente werden sequenziell zu 1D-Arrays, 1D-Arrays zu 2D-Arrays und so weiter zusammengefasst.

    Bei 2D-Arrays erfolgt die Indizierung an Zeilenbegrenzungen und nicht an Spaltenbegrenzungen.