Zitat:Warum hat du denn das Anfordern der Queue in die große While-Schleife hinein gemacht? Das Anfordern gehört so, wie du weiter oben gepostet hast.
Weil ich irgendwie dachte, dass das anfordern der Queue dann deaktiviert wird, wenn die While-Schleife abgebrochen wird.
Aber jetzt habe ich es einmal so umgestellt, wie es vorher war und es funktioniert immer noch nicht (Bild 1).
Wenn ich
Highlight Execution mache, dann kann ich verfolgen, wie die einzelnen While - Schleifen über die globale Variable nach und nach ihre Abbruchbedingung erhalten.
Doch der Datenfluss (wenn ich das so nennen kann) bleibt dann einfach beim Dequeue stehen und die Sub VIs bleiben noch ausgegraut. Natürlich macht das irgendwo Sinn, weil die Sub VIs auch nicht ausgeführt werden, solange kein Element aus der Queue herausfällt, dass sie ausführen können.
Also mit Highlight Execution sieht es dann auch wie folgt aus (Bild 2).
Edit: Um der ganzen Sache weiter auf den Grund zu gehen, habe ich bei den While - Schleifen mal einen Indicator an das i gekoppelt.
Dabei musste ich zuerst feststellen, dass die obere While - Schleife keine Durchläufe macht. Soll das so sein? Ich dachte mir, dass sie keine Durchläufe macht, weil zu Beginn noch kein Element aus der Queue herausfällt. Aber "weiß" die While Schleife das?
Und zweitens musste ich mit Erschrecken feststellen, dass die nebeliegende While Schleife manchmal ausgeführt wird (Counter läuft), manchmal aber auch nicht (Counter läuft nicht).
Muss ich das ganze irgendwie in einen Datenfluss gießen? Ich habe ja schon verstanden, dass man bei so einer Konstruktion keinen Einfluss darauf hat, welche Schleife zuerst ausgeführt wird (deswegen sollte man dann eine Sequenz verwenden, wenn es eine Rolle spielt), aber dass es gänzlich *nicht* ausgeführt wird, überrascht mich jetzt doch.
Cheers.
Cheers.