LabVIEWForum.de
Eventstruktur der Laufzeitteufel - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Eventstruktur der Laufzeitteufel (/Thread-Eventstruktur-der-Laufzeitteufel)

Seiten: 1 2


RE: Eventstruktur der Laufzeitteufel - GerdW - 24.11.2011 11:31

Hallo,

Zitat:2) Die ganze Eventstruktur inklusive anschließender CASE in eine Sequenz packen da vielleicht nach der Auswahl des Eventcases der nachfolgende CASE ausgeführt wird aber die Schleife wieder weiterzählt und dadurch sehr viele Schleifendurchgänge zusätzlich mach (Ist wahrscheinlich auch der Grund warum sich die Schleife nach aufhängen alle anderen Tastendrücke merkt)
Die Schleife läuft nicht von allein weiter (DATAFLOW!, wie oben schon erklärt). Die Eventstruktur merkt sich aber alle sie betreffenden Events für die weitere Ausführung. Wenn dein Programm nun hängt & der User dann 10mal irgendeine Taste drückt, werden diese 10 Tastendrücke auch abgearbeitet, sobald die Eventstruktur dazu kommt. Eine Sequenzstruktur ist da weder hilfreich noch sinnvoll, da der Case eh erst nach dem Event abgearbeitet wird (DATAFLOW!!!) (meist sind Sequenzen einfach nur unnötig).

Zitat:3) Nach Möglichkeit reduzieren der lokalen Variablen (weiß noch nicht wie?)
Drähte benutzen...


RE: Eventstruktur der Laufzeitteufel - unicorn - 24.11.2011 21:20

(24.11.2011 11:31 )GerdW schrieb:  ..
Zitat:3) Nach Möglichkeit reduzieren der lokalen Variablen (weiß noch nicht wie?)
Drähte benutzen...

... und Shift-Register


(23.11.2011 10:48 )DuffiDuck schrieb:  ..
- Oben im Frontpanel zwei mal auf Pause (||) drücken und dann macht es wieder weiter und ruft das sub.vi wieder auf (weiß nicht warum)

Es merkt sich auch welche Tasten gedrückt wurden und öffnet diese nach der reihe.
..

Ich finde es reichlich eigenartig, dass das Programm nach zwei mal Pause Drücken weiterläuft.


RE: Eventstruktur der Laufzeitteufel - DuffiDuck - 25.11.2011 12:41

Zitat:... und Shift-Register

von einer Schleife in eine andere? Wie geht das?


Zitat:Ich finde es reichlich eigenartig, dass das Programm nach zwei mal Pause Drücken weiterläuft.


soll ich dir ein Video machen? Was macht der Pause Button genau?

mfg duffiBadewanne_2_2


RE: Eventstruktur der Laufzeitteufel - jg - 25.11.2011 14:44

(25.11.2011 12:41 )DuffiDuck schrieb:  
Zitat:... und Shift-Register

von einer Schleife in eine andere? Wie geht das?
Na das geht natürlich nicht.
(25.11.2011 12:41 )DuffiDuck schrieb:  
Zitat:Ich finde es reichlich eigenartig, dass das Programm nach zwei mal Pause Drücken weiterläuft.


soll ich dir ein Video machen? Was macht der Pause Button genau?
Nein, aber ein VI-Upload könnte helfen. Bisher hast du nur einen Ausschnitt des BD veröffentlicht, aus dem man aber nicht sonderlich viel herauslesen kann. Ich dachte, das war schon nach den ersten beiden Antworten von Gerd und mir klar.

Alle Antworten, die du bisher bekommen hast, sind mehr oder weniger Kaffeesatzleserei. Glas2

Gruß, Jens


RE: Eventstruktur der Laufzeitteufel - unicorn - 25.11.2011 21:35

(25.11.2011 12:41 )DuffiDuck schrieb:  ..
Zitat:... und Shift-Register

von einer Schleife in eine andere? Wie geht das?
Das Shift-Register transportiert einen Wert von einem Schleifendurchlauf zu nächsten. Der Wert muss also nicht in einer lokalen Variable abgelegt werden und danach wieder gelesen werden. Man kann auch von links außerhalb etwas in das Shift-Register reingeben (Initialwert).

(25.11.2011 12:41 )DuffiDuck schrieb:  
Zitat:Ich finde es reichlich eigenartig, dass das Programm nach zwei mal Pause Drücken weiterläuft.


soll ich dir ein Video machen? Was macht der Pause Button genau?
..
Nee, ein Video brauche ich nicht. Ich wollte vielmehr mein Erstaunen zum Ausdruck bringen, denn, wie Du schreibst, hängt das ganze FP und das Programm wird nicht weiter ausgeführt - also in die ewigen Jagdgründe eingegangen. Aber mit zweimal Pausedrücken steigt es wie Phoenix aus der Asche Hmm

Der Pause-Button hält die Programmausführung an, so wie beim Casettenrecorder, CD-Player, Videorecorder, DVD...

Hast Du das Programm schon einmal als EXE gebaut und getestet?


RE: Eventstruktur der Laufzeitteufel - DuffiDuck - 27.11.2011 10:07

Hallo,

danke für eure Hilfe ich habe jetzt das Problem gelöst. Da ich sub.vi's aufrufe werden diese Ausgeführt. In jedem sub.vi ist ein Zurück- Button. Wenn dieser betätigt wird, wird die Schleife des sub.vi Ordnungsgemäß beendet. Ich habe in früheren Versionen die Fenstereigenschaften auf Dialog geändert > so das es immer im Vordergrund ist! Mit diesen Einstellungen hat sich auch das Verhalten bei abbruch des sub.vi geändert. Früher war es möglich es auch mit dem "X" des Windowsfenster zu schliessen. > Jetzt entsteht der Fehler das sich eben die Schleife beim nächsten Durchlauf bzw. Event aufhängt weil das vorhige sub.vi nicht ordnungsgemäß beendet wurde. Jetzt hab ich überall die Windowsbar entfernt und es läuft ohne Probleme.

Anscheinend wird bei den Dialogeinstellungen eines sub.vi's dies anders beendet!

Vielen Dank nochmal

mfg duffiBadewanne_2_2

PS: @jens ja ich weiß das du keine Glas1 und oder diese Glas2 ist aber ich habe versucht es so gut wie möglich darzustellen, da ich das ganze Programm mit den 30 sub.vi und ganzen toolkits nicht hochladen kann weil es so und so nichts bringt. Aber ich werd es bei meinen nächsten Posts berücksichtigen und Beispiele machen


RE: Eventstruktur der Laufzeitteufel - unicorn - 29.11.2011 21:26

Wenn Du bei einem laufenden SubVI das "x" rechts oben anklickt wird, wird das Front Panel geschlossen. Jetzt wird es etwas schwierig an einen Stopp-Button auf dem Front-Panel heranzukommen. :denknachl:

Wenn mit dem X das VI auch beendet werden soll, so sollte man das Ereignis mit einer Ereignisstruktur auswerten.

Wenn das SubVI durch einen Timeout von alleine fertig wird, geht natürlich das Hauptprogramm weiter. Ansonsten läuft und läuft und läuft das SubVI.