LabVIEWForum.de
Problem mit Sequenz in for-Schleife - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Problem mit Sequenz in for-Schleife (/Thread-Problem-mit-Sequenz-in-for-Schleife)



Problem mit Sequenz in for-Schleife - Krypt - 24.03.2011 11:11

Hallo liebe LabView Gemeinde,

Ich versuche ein LabView Programm zu schreiben, welches eine Sequenz (mit fester Reihenfolge) innerhalb einer for-Schleife ausführen soll. Mit dem angehängten Bild versuche ich mein Problem zu verdeutlichen.
In einer flachen Sequenz aus 2 Frames soll zuerst das erste Frame und danach das zweite Frame abgearbeitet werden. In meinem Fall sind dies Wartezeiten mit einer Ausgabe der jeweils vergangenen Wartezeit. Im ersten Durchlauf der for-Schleife funktioniert die sequentielle Abarbeitung, aber im 2. und den folgenden Durchläufen werden die Frames parallel abgearbeitet, und dies zu verhindern ist mein Problem.
Ich verwenden LabView 2010 und bin für jeden Ratschlag dankbar.

Gruß,
Krypt


RE: Problem mit Sequenz in for-Schleife - GerdW - 24.03.2011 11:18

Hallo Krypt,

Zitat:im 2. und den folgenden Durchläufen werden die Frames parallel abgearbeitet, und dies zu verhindern ist mein Problem.
Ich bezweifle, dass die Frames parallel abgearbeitet werden. Eher dürfte doch der Fall sein, das die "Elapsed Time" einfach mal abgelaufen ist. Hast du schon mal mit deren "Reset"-Eingängen rumgespielt?

Nächste Mal bitte ein VI anhängen statt eines Bildes!


RE: Problem mit Sequenz in for-Schleife - Krypt - 24.03.2011 11:38

Mit den Reset Eingängen habe ich schon herumgespielt, der Autoreset ist defaultmäßig true.

Ich gebe mal ein kleines Beispiel:
Das Time Target von Frame 1 ist 4 sekunden und das von Frame 2 ist 3 sekunden.
Wird das Program gestartet, zählt im ersten Durchlauf der for-Schleife die Elapsed Time 1 von 0 bis 4 sekunden und danach die Elepsed Time 2 von 0 bis 3 sekunden.
Im 2. Durchlauf der for-Schleife beginnt die Elapsed Time 1 bei 3 sekunden und zählt bis 4 sekunden.
Das erneute Zählen der Elapsed Time 1 wurde also folglich schon begonnen, bevor der 2. Durchlauf der for-Schleife begonnen hat.


RE: Problem mit Sequenz in for-Schleife - GerdW - 24.03.2011 11:40

Hallo Krypt,

Zitat:Das erneute Zählen der Elapsed Time 1 wurde also folglich schon begonnen, bevor der 2. Durchlauf der for-Schleife begonnen hat.
Richtig. Willst du doch auch so, da du ja AutoReset=TRUE eingestellt hast. Dann wird nämlich sofort nach Ablauf der ElapsedTime wieder von vorn begonnen - und somit zählen die 3s von ElapsedTime2 schon mit...


RE: Problem mit Sequenz in for-Schleife - Krypt - 24.03.2011 12:57

Ah ok klingt einleuchtend Smile
Wenn ich das richtig verstanden habe, muss ich also Autoreset= False setzen, und einen reset der Elapsed Time unmittelbar vor Beginn der jeweiligen While-Schleife vornehmen


RE: Problem mit Sequenz in for-Schleife - GerdW - 24.03.2011 13:03

Hallo krypt,

ja, und man könnte dabei auch auf ExpressVIs verzichten und "richtig" programmieren Smile
[attachment=32928]
Nur mal so als Anregung und als Vergleich zu deinem Bild, gleiche Funktionalität sollte natürlich in ein subVI ausgelagert werden...


RE: Problem mit Sequenz in for-Schleife - Krypt - 24.03.2011 13:44

Herzlichen Dank!
Das hat mein Problem gelöst! Smile

Liebe Grüße,
Krypt