LabVIEWForum.de - Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case

LabVIEWForum.de

Normale Version: Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Schönen guten Tag zusammen,

Ich habe gestern meine erste Applikation ausrollen wollen und habe diese dafür vorher noch ein bisschen hübsch gemacht.
Leider stellte sich heraus das am ende Garnichts mehr ging.

Ich habe das VI nun soweit wie möglich heruntergebrochen wie es ging, um dem Fehler auf die schliche zu kommen, allerdings habe ich ein Brett vorm Kopf.
Ich Kanne einfach keinen Grund finden, warum des Fehler sich so äußert wie er es tut, zumal es vorher auch keine Probleme gemacht hat.

Beide Event Strukturen sind an einen knoten zum dynamischen registrieren von Ereignissen angeschlossen, wobei die untere, Fehler verursachende Struktur, sich an keiner stelle auf das registrierte Event bezieht.
Versuche ich in dieser Konstellation das Event in der oberen Struktur registrieren zu lassen, wird dies nicht erkannt.

Lösche ich die untere schleife, wird das Event plötzlich erkannt.


Vielleicht hat ja jemand eine Idee warum ich damit plötzlich Probleme habe, ich hoffe jedenfalls nicht das dies ein Bug ist.


Viel Dank im Voraus
Ksanto
Niemals - wirklich niemals - 2 Eventstrukturen innerhalb eines VIs verwenden - egal was die Hints und Caveats zur Verwendung der Eventstuktur in der Hilfe erzählen. Das führt NUR zu Ärger.

Gruß, Jens
Hi Jens,

Wenn das Erfahrungswerte (gerade von jemandem wie dir) sind will ich das glauben und muss wohl damit leben.

Ich hatte bisherig nur von Problemen gelesen wenn man zwei Event Strukturen in einer Schleife, ineinander oder eine Schleife in eine tut, gelesen, aber nirgends wenn man zwei unabhängige Schleife parallel laufen lässt. -,-

Danke
Was willst Du mit zwei Ereignissstrukturen erreichen?
Wenn es um Parallelität geht, solltes Du Dich mit Queues beschäftigen.

Wie Jens schon geschrieben hat:
Zitat:Niemals - wirklich niemals - 2 Eventstrukturen innerhalb eines VIs verwenden - egal was die Hints und Caveats zur Verwendung der Eventstuktur in der Hilfe erzählen. Das führt NUR zu Ärger.

Gruß
Freddy
Hi Freddy,

naja, es sind halt zwei event driven statemshines. Eine kümmert sich um die Anwendungssteuerung, die andre um die Messaufgabe.

das mag im angehängten Beispiel nicht rüber kommen, aber ich habe das Problem soweit wie möglich runter gebrochen, damit man sieht was das Problem ist, unabhängig vom eigentlichen Anwendungszweck.
Von Labview gibt es nur den Hinweis, nicht zwei Ereignisstrukturen in einer Schleife zu verwenden. Wenn man aber (- entgegen der Erfahrung von Labview-Experten hier -) zwei Ereignisstrukturen in einem VI verwendet, dann ist eines tödlich: ein und dasselbe Ereignis (hier: eine boolsche Wertänderung) in beiden Schleifen behandeln zu wollen.
Der Fehler ist hier nicht, daß Du zwei Ereignisstrukturen hast, sondern daß Du ein und dasselbe Ereignis in beiden Strukturen anmeldest. Das Du es in der einen Strukur dann nicht verarbeitest und gar keinen Case dafür vorgesehen hast, ändert daran nichts
(21.10.2017 08:59 )Lucki schrieb: [ -> ]Von Labview gibt es nur den Hinweis, nicht zwei Ereignisstrukturen in einer Schleife zu verwenden. Wenn man aber (- entgegen der Erfahrung von Labview-Experten hier -) zwei Ereignisstrukturen in einem VI verwendet, dann ist eines tödlich: ein und dasselbe Ereignis (hier: eine boolsche Wertänderung) in beiden Schleifen behandeln zu wollen.
Der Fehler ist hier nicht, daß Du zwei Ereignisstrukturen hast, sondern daß Du ein und dasselbe Ereignis in beiden Strukturen anmeldest. Das Du es in der einen Strukur dann nicht verarbeitest und gar keinen Case dafür vorgesehen hast, ändert daran nichts
Hallo Lucki,

deine letzte Aussage stimmt nur bedingt.
Wenn du ein Value-Change Event in der unteren Event-Struktur anlegst, dann funktioniert es wie gewünscht. Zumindest in diesem Beispiel.
Tödlich ist es auch, wenn man sein VI mit mehreren parallelen Event-Strukturen so aufbaut, dass diese nicht jederzeit (bzw. ziemlich schnell) die Events verarbeiten können. Das führt dann gerne zum bekannten Einfrieren des Frontpanel.

Zusammenfassung:
1) Eine Event-Struktur sollte immer schnell neue Ereignisse abarbeiten können.
2) Aus Erfahrung rate ich dringend davon ab, mehr als 1 Event-Struktur innerhalb eines VI zu verwenden. Es geht IMMER auch anders.
3) Dynamisch angemeldete Ereignisse sollten wohl besser ebenfalls verarbeitet werden.

Gruß, Jens
Danke, hast Recht. Wenn man die obere Schleife 4 Mal identisch kopiert, so funktioniert das (für mich überraschenderweise) bei allen 4 Strukturen. Zu empfehlen ist es aber nicht, wozu auch.
[attachment=58382]
Ok, danke an alle die sich beteiligt haben, ich denke damit ist die Problematik erschöpfend behandelt.
Referenz-URLs