LabVIEWForum.de - While Schleife in Ereignisstrukturen

LabVIEWForum.de

Normale Version: While Schleife in Ereignisstrukturen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi,

Ich hab folgendes Problem.
Ich kann eine While-Schleife in einer Ereignisstruktur nicht über einen Button beenden.
..
Hab mal folgendes Beispiel zusammengebastelt.
In beiden Cases befindet sich eine While-Schleife...in dem einen Case ([0]) lässt sich die Schleife mittels Button stoppen und in dem anderen
[1] nicht.
Woran liegt das?

gruß
Hi,

das liegt daran, dass du nur eine Eventstruktur pro Blockdiagramm verwenden darfst! Theoretisch gehen zwar auch zwei, aber die dürfen dann keine gemeinsamen Auslöser (= Controls) haben! Welches Event soll denn da (zuerst) abgearbeitet werden?

Ausserdem: Eine Whileschleife hat IN einer Casestruktur ÜBERHAUPT NIX VERLOREN! In einem Event sollte nur kurz was angetriggert werden (z.B. ein Zustandsübergang einer State Machine) und dann gehts wieder weiter! Theoretisch kannst du zwar einen Code im Event beliebig lange ausführen, was soll dann aber beim nächsten Event passieren? Soll die Schleife abgebrochen werden? Oder doch lieber das neue Event laufen? Und was ist danach mit der Schleife? Alles in allem äußerst unsauber...

Außerdem: Pack die entsprechenden Controls in dein jeweiliges Eventcase, dann sind sie sauber aufgeräumt! Das ist bedeutend übersichtlicher!

Gruss
Achim
' schrieb:Hi,

das liegt daran, dass du nur eine Eventstruktur pro Blockdiagramm verwenden darfst! Theoretisch gehen zwar auch zwei, aber die dürfen dann keine gemeinsamen Auslöser (= Controls) haben! Welches Event soll denn da (zuerst) abgearbeitet werden?

Ausserdem: Eine Whileschleife hat IN einer Casestruktur ÜBERHAUPT NIX VERLOREN! In einem Event sollte nur kurz was angetriggert werden (z.B. ein Zustandsübergang einer State Machine) und dann gehts wieder weiter! Theoretisch kannst du zwar einen Code im Event beliebig lange ausführen, was soll dann aber beim nächsten Event passieren? Soll die Schleife abgebrochen werden? Oder doch lieber das neue Event laufen? Und was ist danach mit der Schleife? Alles in allem äußerst unsauber...

Außerdem: Pack die entsprechenden Controls in dein jeweiliges Eventcase, dann sind sie sauber aufgeräumt! Das ist bedeutend übersichtlicher!

Gruss
Achim

Ich habe nur eine Eventstruktur....die beiden Cases sind nur ins gleiche Bild kopiert um den Fall deutlicher zu machen.
Nochmal, auch wenn man es anscheinend nicht macht.
In dem einen Case ist es möglich die While-schleife zu beenden.....in dem anderen nicht und ich hab keine Ahnung wieso?

gruß
habs gefunden...
es gibt unter "Ereignisse dieses Cases bearbeiten" die Option Frontpanel sperren....dies muss natürlich deaktiviert sein
<div align="left">Hallo,

schön, dass du das Problem gefunden hast. Grundsätzlich würde ich noch eine StateMachine einbauen. Siehe Bsp.:

[attachment=5893]

MfG, Jens</div>
Hi,

du könntest an der Eventstruktur mal "Lock FP until..." deaktivieren und dann testen! Mach mal den Highlight-Modus an (Glühbirne) und schau, was passiert! Ich hab deinen Aufbau mal nachgebaut, und sehe das gleiche wie du! Ich mach mir jetzt aber nicht die Mühe, das weiter zu analysieren...weil:

Generell gilt : Das ist ein absolut nicht-praxistauglicher und nicht praxisgerechter "Aufbau"! Manche Dinge funktionieren eben nicht...wenn du mal sagst, was du eigentlich vorhast, kann man dir vielleicht auch nen vernünftigen Ratschlag geben...

...aber heute nicht mehr...jetzt ist Feierabend!

Gruss
Achim
Referenz-URLs