LabVIEWForum.de - VI beendet sich nicht

LabVIEWForum.de

Normale Version: VI beendet sich nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.

alan

Hallo Zusammen,

ich trau mich kaum zu fragen aber wieso beendet sich das beigefügte VI nicht wenn man den End-Button drückt? Hat es was mit dem Schaltverhalten des Stop-Buttons zu tun?

LG
alan
Hallo alan,

Grundregel: erst mal selbst debuggen, bevor man fragt…

Also: Dem DATAFLOW mittels Highlight-Execution zuschauen - und feststellen, wo es hakt. Dann die Hilfe zur hakenden Funktion lesen und danach dann passende Parameter einstellen…

Und wenn du dich mit dem DATAFLOW beschäftigst, kannst du auch die lokalen Variablen wieder entfernen…

alan

ich habe bereits mit der Highlight-Funktion nachgeshen und gemerkt, dass trotz Drücken des Schalters kein True an der Ausgangsbedingung der Schleife ankommt. Ich verstehe aber nicht warum und habe gehofft hier eine einfache Antwort zu erhalten. Es gibt keine Kontexthilfe zu dem Button. Und Recherchen haben mich auch nicht weiter gebracht. Die Initialisierung mit False ist im richtigen Programm (beigefügt hab ich eine entschlankte Version) nötig weil das VI bei Beendigung manchmal mit grün leuchtender Lampe beginnt (wobei ich gerade auch mitbekommen habe, dass man das auch per Rechtsklick im Frontpanel auf das Objekt erreichen kann, sorry). Nichtsdesdotrotz benötige ich in meinem VI leider lokale Variablen von diesem Button.
Hallo alan,

Zitat:ich habe bereits mit der Highlight-Funktion nachgeshen und gemerkt, dass …
Während des Highlighten zeigt dir LabVIEW mit einem grünen Pfeil an, das subVIs (und welches) aktuell ausgeführt werden. Und darum ging es bei meinem Kommentar!
Dein Button selbst funktioniert wie gewünscht - und er wird auch ausgelesen…
Eine Struktur (auch eine While Schleife) wird erst dann beendet, wenn alles in der Struktur beendet ist. Außerdem wird alles, was parallel programmiert ist, auch parallel abgearbeitet werden.

Vermutung: Da du am TCP Listener keinen Timeout angeschlossen hast, wartet dieses VI bis zum Sankt Nimmerleins-Tag auf eine Verbindung. Somit kannst du den Stopp-Knopf drücken soviel du willst, ohne Aufbau einer TCP-IP Verbindung beendet sich die While Schleife nicht.

Hinzu kommt dann noch die parallele Abarbeitung, du brauchst 2 Verbindungsaufbauten, da der Stopp-Button direkt beim Start der While-Schleife schon ausgewertet wird... (THINK Dataflow).

Gruß, Jens

alan

Danke für diesen Hinweis. Ich dachte bislang, Schleifen würden dann abbrechen, wenn die Bedingungen für den Abbruch erfüllt sind, unabhängig davon welche Prozesse in der Schleife vorhanden sind. Aber ich glaub ich hab das Problem jetzt verstanden. Und danke auch für den Hinweis mit dem grünen Pfeil!
Referenz-URLs