![]() |
Case-Struktur führt True und False aus (Ereignisschleife) - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Case-Struktur führt True und False aus (Ereignisschleife) (/Thread-Case-Struktur-fuehrt-True-und-False-aus-Ereignisschleife) Seiten: 1 2 |
Case-Struktur führt True und False aus (Ereignisschleife) - HIMI - 23.08.2017 10:39 Hallo liebe LV-Gemeinde, ich habe seit langem mal wieder eine Frage. Nach dem Umstieg auf LV2016 machte sich Ernüchterung breit, viele Abstürze und unerklärbares Verhalten waren normal. Gleiches beim neuen DAQmx. Nach vielen Updates ist es besser geworden. Jetzt habe ich jedoch eine komische Verhaltensweise, welche ich euch mal zeigen möchte. Eventuell mache ich auch etwas falsch. Man denk immer man hat alles richtig gemacht und dann hat man doch wieder nen Ei. Die zwei Strings oben sind die beiden möglichen Barcodes. Bei Nr. 1 ergibt es ein False und ich bekomme die Ausgabe "Bitte scannen Sie den 2D-Code." Bei Nr. 2 ergibt es wie gewünscht ein True und ich bekomme trotzdem die Ausgabe "Bitte scannen Sie den 2D-Code, welche im False-Case steht" [attachment=58172] There goes ja the Dog in the pan crazy. Ideen? RE: Case-Struktur führt True und False aus (Ereignisschleife) - jg - 23.08.2017 11:01 Du setzt die Ausgabe "String" auch nur im Time-Out-Case zurück. Zwecks "Update While Typing" bei der Eingabe "Barcode" werden bei Scan per Barcode-Scanner mglw. alle Buchstaben einzeln übertragen, die Eventstruktur bekommt das mit, und somit hast du erst einmal eine ganze Menge Events, bevor dein "Ö" erkannt wird. Debug doch einfach mal, wie oft die Event-Struktur-Schleife wirklich aufgerufen wird. Gruß, Jens RE: Case-Struktur führt True und False aus (Ereignisschleife) - HIMI - 23.08.2017 11:05 Danke für den Tipp Jens, ich mach mal Mittag und dann schau ich mal. RE: Case-Struktur führt True und False aus (Ereignisschleife) - HIMI - 23.08.2017 12:11 Hab das eben noch mal geprüft und du hast Recht. Mit jedem Schleifendurchlauf wird ein Char eingelesen und somit gibts bis zum Erscheinen des "Ö" ein False. Wie kann ich in diesem Fall die Fallunterscheidung realisieren? In meinem Programm ist anstelle von "Barcode2" ein Sub-VI verlinkt in welchem die Namensauflösung erfolgt. Selbst wenn bei "Ö" ein True erreicht wird, wird dieses anscheinend nicht ausgeführt oder liefert kein Ergebnis. In der Highlightfkt. werden die pinken Strippen vom VI zum Indicator grau. [attachment=58175] RE: Case-Struktur führt True und False aus (Ereignisschleife) - HIMI - 23.08.2017 12:32 Update. Wenn ich im Case "TRUE" die bool´sche Konstante von TRUE auf FALSE stelle, werden die Serien- und Artikelnummer ausgegeben. Sobald aber die While-Schleife beendet wird, gibts das Sub-VI nur zwei leere Strings aus. Ich raffs nicht. RE: Case-Struktur führt True und False aus (Ereignisschleife) - jg - 23.08.2017 12:39 (23.08.2017 12:11 )HIMI schrieb: Hab das eben noch mal geprüft und du hast Recht. Mit jedem Schleifendurchlauf wird ein Char eingelesen und somit gibts bis zum Erscheinen des "Ö" ein False. Wie kann ich in diesem Fall die Fallunterscheidung realisieren?Du könntest überprüfen, ob der Barcode-Scan wirklich beendet ist... Wenn ich es richtig im Kopf habe, dann geben Barcode-Scanner gerne einen Zeilenumbruch mit aus. Das könnte mit überprüft werden bei der Eingabe... Gruß, Jens (23.08.2017 12:32 )HIMI schrieb: Update.Bitte SubVI inkl. definierter Ausgaben posten. Und von welcher LabVIEW-Version bist du umgestiegen? Gruß, Jens RE: Case-Struktur führt True und False aus (Ereignisschleife) - HIMI - 23.08.2017 12:57 Sehr gute Idee, der Scanner sollte parametrierbar sein. Zur Zeit liefert er keinen Zeilenumbruch o.ä. Ich bin umgestiegen von LV2012. Update. Hab den Scanner parametriert und ein ENTER angehangen. Vorteil ist, dass man das "Update value while typing" nicht mehr braucht. Der Rubel rollt wieder. Mich würde nur trotzdem gern noch interessieren warum das Sub-VI die Werte nicht ausgibt, wenn die Schleife abgebrochen wird. RE: Case-Struktur führt True und False aus (Ereignisschleife) - jg - 23.08.2017 13:32 Von welchem SubVI sprichst du genau? Welche Schleife meinst du genau? ![]() Gruß, Jens RE: Case-Struktur führt True und False aus (Ereignisschleife) - HIMI - 23.08.2017 13:46 Das Bild in Beitrag #4 zeigt mein "Hauptprogramm" mit dem Sub-VI "SN_Art_String". Dieses Sub-VI liefert keine Werte, wenn im Hauptprogramm die While-Schleife durch die bool´sche Konstante im Case "True" beendet wird. RE: Case-Struktur führt True und False aus (Ereignisschleife) - jg - 23.08.2017 14:02 Achso: Programmierfehler deinerseits (zumindest sieht es laut Screenshot so aus...), du gibts nur den Teil vor dem ersten Ö an dein SubVI weiter, und suchst dann nach einem weitern Ö als Trennzeichen. ![]() EDIT: Wobei sich deine Suche nach Ö vor Aufruf deines SubVI ja sowieso erledigt hat, da du jetzt auf Zeilenumbruch reagierst. Gruß, Jens |