09-28-2006 12:06 AM
09-28-2006 04:40 AM
Die Ursache für dieses Verhalten (welches völlig normal ist) liegt im Datenfluss-Prinzip.
Wenn dein zweites VI gestartet wird, startet gleichzeitig der while-Loop und die Zuweisung des Buttons ausserhalb des Loops läuft auch ab. Da diese jedoch in keinem Loop ist, wird sie nur ein einziges mal durchgeführt.
Also mal allgemein ausgedrückt: Wenn du ein VI startest, läuft es exakt einmal. Damit es am laufen bleibt, muss mindestens 1 Loop vorhanden sein (logischerweise ein While-Loop). In diesem Loop kann dann die Applikation programmiert werden. Um das zu verdeutlichen, kannst du einen einfachen Versuch durchführen. Platziere einen Button und eine digitale Anzeige auf einem neuen Front-Panel. Verbinde sie auf dem Block-Diagramm und lass das VI laufen (mit dem normalen Pfeil). Du wirst sehen, dass das VI exakt einmal ausgeführt wird. Nun ändere den Status des Buttons und lass das VI nochmal laufen. Um das ganze nun permanent am Laufen zu halten, platziere einen While-Loop um diese Zuweisung (der optimalerweise eine Zeitverzögerung enthält) und füge einen Button zum Stoppen des Loops ein. Lass das VI nun ein drittes mal laufen. Du wirst sehen, dass es permanent weiterläuft und du den Zustand des Buttons ändern kannst, was dann den Zustand der Anzeige ändert.
Hoffe das macht das ganze klarer, da dieses Prinzip fundamental ist. Bevor du mit Methoden- & Eigenschafts-Knoten programmierst, solltest du das Grundprinzip verstanden haben.