LabVIEWForum.de - Bekomme kein True aus Event Structure

LabVIEWForum.de

Normale Version: Bekomme kein True aus Event Structure
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich habe eine Event Structure zum Beenden des Programmes.
Ich will bei der Betätigung des "Programm beenden" Buttons
noch einen Boolschen Wert (True) schreiben.
Dieser Wert wird aber ausserhalb der Schleife nciht übernommen.

Ich habe einen Teil meines Programmes angehängt.

LV 2015

Gruß
Günti[attachment=57300]
(08.02.2017 15:22 )nixblicker schrieb: [ -> ]Dieser Wert wird aber ausserhalb der Schleife nciht übernommen.

Hallo Günti,

außerhalb welcher Schleife? In deinem Programm gibt es keine Schleife!
Welches Flag willst du schreiben?

Wenn du die Funktion LabView beenden bemühst, passiert danach garnix mehr - nur für den Fall, dass deine Schleife in einem übergeordneten VI ist.


Gruß, Marko
Hallo Günti,

und dann gibt es doch noch diesen Shutdown-Befehl, den du dort explizit ohne Wartezeit absetzt!

(Neben den ganzen anderen RubeGoldberg-Konstruktionen, die dein VI nicht gerade besser machen…)

Edit: Profil_ergaenzen, wenn du jetzt LV2015 verwendest!
Hallo,

@Marco
ich meine ausserhalb der Ereignisstruktur.
Dies ist nur ein Teil unseres Programmes.

Ich möchte gerne in der Event-Struktur "Programm beenden"
ein True schreiben.
Dieses ist aber ausserhalb dieser Struktur immer ein False.

@GerdW
Was muss ich am Shotdown-Befehl ändern ?
Welche Wartezeit wäre sinnvoll ?
Muss dieser in der Sequenz ein Position nach hinten
(an den Schluss) gesetzt werden ?

Danke im Voraus für die Hilfe.

Gruß
Günti
Hallo Günti,

Zitat:Ich möchte gerne in der Event-Struktur "Programm beenden" ein True schreiben. Dieses ist aber ausserhalb dieser Struktur immer ein False.
Solange du dieses VI mit einem ExitLabVIEW beendest, wird da NIE irgendwas aus dem VI/der Schleife herauskommen.
Das "ExitLabVIEW" macht nämlich genau das, was sein Name verspricht!

Außerdem: in deinem VI wird doch NIRGENDS irgendein TRUE/FALSE aus der Schleife herausgegeben!?

Zitat:Was muss ich am Shotdown-Befehl ändern ? Welche Wartezeit wäre sinnvoll ?
Der Shutdown-Befehl an sich sieht ok aus, nur: Wenn du den Rechner SOFORT herunterfährst, werden auch alle laufenden Programme beendet! Und du willst nach dem Shutdown noch irgendwas sinnvolles machen!?

Zitat:Muss dieser in der Sequenz ein Position nach hinten (an den Schluss) gesetzt werden ?
Mal überlegen: du willst das ExitLabVIEW vor dem "cmd shutdown" ausführen? Wirklich?

Tipp: Wenn du nicht weißt, wie LabVIEW-Funktionen arbeiten, solltest du immer die LabVIEW-Hilfe durchlesen…
Hallo,

wenn ich den Button "Programm beenden" betätige wird das Programm
doch noch nicht beendet. Es öffnet sich doch erst das Dialogfeld
mit Schaltflächen.
In diesem Zustand will ich ein True herausschreiben.

Das True habe ich in dem Beispiel noch nicht eingefügt.

Nach dem Shutdown will ich nichts mehr machen. Ich will vor dem Shutdown
oder Exit das True ausgeben.

Danke und Gruß
Günti
Hallo Günti,

Zitat:Nach dem Shutdown will ich nichts mehr machen. Ich will vor dem Shutdown oder Exit das True ausgeben.
THINK DATAFLOW!
Bitte mal die Grundlagenkurse zu LabVIEW durchgehen und das mit dem THINK DATAFLOW verinnerlichen!

(Ein Teilaspekt von) DATAFLOW: Um einen Wert aus einer Struktur/einem VI auszugeben, muss diese Struktur/dieses VI komplett abgearbeitet sein.

Wann genau ist dein Event-Case abgearbeitet und bereit, einen Wert auszugeben? Genau: wenn deine Sequenz darin VOLLSTÄNDIG abgearbeitet ist!
Dummerweise rufst du aber darin noch ein ExitLabVIEW auf und willst auch noch den Computer per Shutdown herunterfahren. Sieht nach einem nicht sehr durchdachten Konzept aus… Big Grin

Lösung: Man sollte ein Programm erst dann beenden, wenn man ALLES erledigt hat, was man so zu erledigen hat. Und den Rechner sollte man auch erst nach dem Beenden aller nötigen Programme herunterfahren… Wall
Hallo GerdW,

ja du hast recht.

Ich muss das alles nochmal durcharbeiten.
Das Problem ist, dass wir das Programm so übernommen haben
der nicht mehr bei uns arbeitet.

Danke für die Hilfe und Gruß
Günti
Referenz-URLs