Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case
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
20.10.2017, 10:44 (Dieser Beitrag wurde zuletzt bearbeitet: 20.10.2017 10:45 von jg.)
RE: Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case
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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
RE: Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case
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. -,-
RE: Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case
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.
RE: Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case
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.
21.10.2017, 08:59 (Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2017 09:01 von Lucki.)
RE: Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case
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
RE: Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case
(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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
RE: Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case
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.