Die Erklärung ist ganz einfach. Theoretisch ist es zwar so, dass sich bei nicht voneinander datenabhängigen Progammteilen die Reihenfolge nicht voraussagen läßt. Praktisch ist es aber so, dass erst die einfachen Sachen gemacht werden, und erst dann kommt das dran, was in Strukturen reingeschachtelt ist.
In Deinem Fall heißt das: Es wird zuerst der Code in der rechten unteren Ecke abgearbeit, die lokalen Variablen Batteriechchek und Systemcheck gelesen und die Vorentscheidung über den Schleifenstop gefällt. Erst später werden diesen beiden Variablen in den beiden Schleifen neue aktuelle Werte zugewiesen, die aber dann für die Entscheidung über den Schleifenstop nicht mehr relevant sind.
Also, lange Rede kurzer Sinn, den Case so ändern:
@Gerd
Zitat:bitte erst einmal dein VI aufräumen und all diese RubeGoldbergs entfernen!
- es gibt Funktionen wie "+1" und "=0"…
- THINK DATAFLOW! Heavy overuse of local variables…
- CoercionDots…
- ordentliches Enum für die States…
Gottseidank, dass es so ist. Wegen dieser und anderer Unzulänglichkeiten müssen wir uns wenigstens keine Gedanken machen, dass mit diesem Raketenprogamm jemals Menschen getötet werden könnten und wir uns hier mit unseren Tips mitschuldig machen.