LabVIEWForum.de - FOR-Schleife funktioniert nicht

LabVIEWForum.de

Normale Version: FOR-Schleife funktioniert nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo,
ich habe da ein kleines Anfängerproblem mit einem "for-loop". Das Diagramm hab ich unten beigefügt. Normalerweise kenne ich das so, dass wenn ein Vector auf einer "for-loop"-Struktur liegt und zu einem Ausgang geführt wird, am Ende des "for-loop"s als Matrix ausgegeben wird. Also mit jedem Zeilenvektor, der auf der einzelnen Seite erzeugt wurde. Wird also auf dem "for-loop" der Vektor (1, 1, 1) 3 mal erzeugt und zu einem Tunnel geführt, so steht nach Fertigstellung aller Seiten hinterm Tunnel

(1,1,1)
(1,1,1)
(1,1,1)

die Ausgabe erscheint auch wie ich es kenne erst nach der Abarbeitung aller Seiten des "for-loop"s.
Des weiteren zählt der Index mit jeder Seite i um einen hoch. So wie es ja auch sein soll.

ich habe ein recht großes Programm, in dem ebenfalls eine "for-loop"-Struktur vorhanden ist und hier passiert alles anders.

Egal wieviele Seiten abgearbeitet werden müssen, der Tunnel gibt sofort den auf dem "for-loop" befindlichen Wert durch den Tunnel und schreibt ihn in die oberste Stelle der Matrix. Die Ausgabe ist dann

(1,1,1)
(0,0,0)
(0,0,0)

Des weiteren fällt auf, dass die Ausgabe durch den tunnel nicht erst nach Abarbeitung aller Seiten erfolgt, sondern immer direkt nach jeder Seite. Ausserdem fällt auf, dass der Index des Stapels nicht mit läuft. Der Index bleibt die ganze Zeit auf 0 stehen.

Was is da los?

Ich hoffe mir kann jemand helfen. Das Messprogramm muss bald einsatzbereit sein :/

hier das Programm und die Ausgabe

[attachment=45265] [attachment=45267]

Großbuchstaben wurden nun ein der Forumskultur entsprechend eingefügt
Hallo,

zum einen hast du nix angehängt, weder Bild noch VI. Und zum anderen denk mal bitte an GROSS-/kleinschreibung.


Gruß, Marko
Eine Stacked Sequence (oder auch eine Flat Sequence) in LabVIEW kann kein AutoIndexing so wie eine Schleife.

Du bringst da irgendwas durcheinander.

Gruß, Jens

P.S.: Räum mal das BD auf, notfalls per Automatik.
+ EDIT: Danke für die Korrektur deines Beitrages.
Oh, ich habe das falsche wort benutzt. es geht um den "for-loop" der index vom diesem funktioniert nicht. Der, welcher in dem bild mit dem indicator "numeric" versehen ist. der bleibt bei null stehen.

Danke für den Hinweis der falschen Forumilierung. Werde sie jetzt direkt ändern. Das war sehr verwirrend.
Hallo Spiky,

also wenn der Index einer Schleife nicht hochläuft, dann steckt sie in der jeweiligen Iteration fest - soll heißen: Irgendwas in der Abarbeitung der Schleife hält dermaßen auf, dass es so aussieht, als wäre der Index kaputtSmile


Gruß, marko



Edit:
Setz dir mal Sonden, um zu sehen, bis wo dein VI überhaupt kommt. Dann kannst du dich auch an die Stelle rantasten, an der es gerade "hängt".
Hallo spiky,

Zitat:Normalerweise kenne ich das so, dass wenn ein Vector auf einer "for-loop"-Struktur liegt und zu einem Ausgang geführt wird, am Ende des "for-loop"s als Matrix ausgegeben wird.
Normalerweise heißen diese Dinge in LabVIEW 1D-Array und 2D-Array (Matrix ist etwas anderes!) und der Vorgang nennt sich Autoindizierung!

Zitat:die Ausgabe erscheint auch wie ich es kenne erst nach der Abarbeitung aller Seiten des "for-loop"s.
Das nennt sich DATAFLOW! Außerdem: Schleifen haben keine "Seiten", sondern führen Iterationen aus...

Zitat:Egal wieviele Seiten abgearbeitet werden müssen, der Tunnel gibt sofort den auf dem "for-loop" befindlichen Wert durch den Tunnel und schreibt ihn in die oberste Stelle der Matrix.
Auch das nennt sich DATAFLOW, hier anhand eines Schieberegisters!

Zitat:Des weiteren fällt auf, dass die Ausgabe durch den tunnel nicht erst nach Abarbeitung aller Seiten erfolgt, sondern immer direkt nach jeder Seite. Ausserdem fällt auf, dass der Index des Stapels nicht mit läuft. Der Index bleibt die ganze Zeit auf 0 stehen.
Logische Schlußfolgerung: deine FOR-Loop läuft genau Null-mal durch. Im Gegensatz zu While-Loops kann dir das bei einer FOR-Loop nämlich passieren.
Und wann genau passiert das? Das darfst du jetzt selbst überlegen...

P.S.: Sonden an allen relevanten Eingängen der FOR-Loop können bei der Fehlersuche ungemein helfen...
Hallo Gerd,

den Auto-Indextunnel hatte ich ganz übersehen - ich habe nur die 10 gesehen.

@spiky
Vergiss meine Antwort mit dem Hängen der Schleife in einer Iteration - aber auc h das hättest du mit Sonden selbst herausbekommen.


Gruß, Marko
Wink mit Zaunpfahl: AutoIndexing funktioniert auch am "Eingang" von Schleifen.

Gruß, Jens

Offtopic2
Thementitel abgeändert.
Ich weiß leider noch nicht, was Autoindexing ist. Ich bin noch ziemlicher Anfänger im Labview programmieren. Ich habe immer nur das N in der "for-Schleife" bedient. Könnt ihr mir da noch weiter helfen?

Vielen dank schon mal für die Hinweise.
Hallo spiky,

manchmal soll es ja helfen, die Hilfe zu öffnen und dort nach den genannten Schlagwörtern zu suchen...

Rtmfx
Seiten: 1 2 3
Referenz-URLs