Button Click Event - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Button Click Event (/Thread-Button-Click-Event) |
RE: Button Click Event - t0bsN - 17.06.2016 13:22 okay danke, ich versuch mal mein glück RE: Button Click Event - t0bsN - 20.06.2016 07:41 Also ich habe die ganze Sache mal versucht. Die Case Struktur in der Mitte funkioniert irgendwie nur bzw das Vi kann ich nur ausführen wenn ich hinter 1 Case ",Standard" schreibe....was dann aber zur Folge hat, das dieses dauerhaft ausgeführt wird bzw ich kein anderes setzen kann.. Wo ist der Fehler ? RE: Button Click Event - Freddy - 20.06.2016 08:16 Du kannst den Standard in einen eigene Case schreiben. Ich habe die verschiedenen Case mal dargestellt. Gruß Freddy RE: Button Click Event - t0bsN - 20.06.2016 08:32 ah okay, super. Danke! RE: Button Click Event - t0bsN - 28.06.2016 11:12 Ich hab nochmal eine Frage: ich habe meinen Sketch für den Arduino jetzt zum laufen gebracht mit dem Vi aus Beitrag #9 NUr habe ich das Problem, dass er aufgrund des Visa-Write Bausteins nun immer erst auf eine Eingabe wartet, bevor er wieder Messwerte aufnimmt... Ziel ist es das er dauerhaft diese Messwerte aufnimmt außer halt es kommt ein Befehl über den Visa-Write rein.... kann ich das irgendwie umgehen ? RE: Button Click Event - GerdW - 28.06.2016 12:09 Hallo tobsn, Zitat:NUr habe ich das Problem, dass er aufgrund des Visa-Write Bausteins nun immer erst auf eine Eingabe wartet, bevor er wieder Messwerte aufnimmt...Wer ist "er"? Ist der Arduino gemeint? Das VI ist "suboptimal" programmiert: - eine Event-Struktur sollte man nicht innerhalb geschachtelter Case-Strukturen verstecken! - Wenn die Messung parallel zum UI-Handling laufen soll, dann sollte das Programm dies auch in parallelen Strukturen erledigen! - Ob die Aufteilung des Codes im BD in Abhängigkeit vom Tab-Control auf dem FP sinnvoll ist, glaube ich auch nicht… - Die Verwendung von LED-Anzeigen als Eingabeelemente entspricht nicht gängigen UI-Design-Empfehlungen… - Die Messschleife sieht übermäßig kompliziert aus: [attachment=56196] - Warum gibt jedes deiner 4 Events den String an einem anderen Tunnel aus? Warum nicht einfach immer den gleichen Tunnel verwenden? RE: Button Click Event - t0bsN - 28.06.2016 12:26 Okay, danke erstmal für die Hinweise. Ich bin leider noch nicht so erfahrne mit LabView. Ich werde alles mal versuchen besser zu gestalten und das VI dann nochmal hier zeigen für diverse Verbesserungsvorschläge RE: Button Click Event - GerdW - 28.06.2016 12:45 Nachtrag zur gezeigten Messschleife: Etwas Errorhandling in einer 12000mal ausgeführten Schleife kann auch nicht schaden… RE: Button Click Event - t0bsN - 28.06.2016 13:35 Zitat:Nachtrag zur gezeigten Messschleife: Etwas Errorhandling in einer 12000mal ausgeführten Schleife kann auch nicht schaden… was ist damit gemeint ? ...also ich hab alles mal neu aufgebaut Das Vi ist beigefügt. Derzeit ist es nun so, dass dauerhaft gewartete wird bis ein Knopf im Case gedrückt wird, und demnach ein Write/String übergeben wird.....ist dies der Fall, nimmt er die 12000 Messwerte auf, danach wartete er wieder. Nun nochmal zum Ziel: Es soll dauerhaft gemessen werden, immer wieder 12000 neue Werte....Drücke ich einen knopf aus der Case Struktur kann das Messen unterbrochen werden sodas der String gesendet wird. Danach soll er wieder automatisch weiter messen Der Hintergrund ist, dass mit dem gesendeten String in Case im C-Code ausgewählt wird, und der Arduino ein bestimmtes Rechtecksignal sendet. Dieses muss auch nur einmal gemacht werden. Danach soll er wie gesagt immer nur messen. Ich hoffe, ich konnte es einigermaßen verständlich rüberbringen und ihr mir helfen danke ! gruß RE: Button Click Event - GerdW - 28.06.2016 13:41 Hallo tobsn, Zitat:Derzeit ist es nun so, dass dauerhaft gewartete wird bis ein Knopf im Case gedrückt wirdWeil du es so programmiert hast! THINK DATAFLOW! Frage: Wann wird die nächste Iteration deiner Hauptschleife begonnen? Antwort: wenn alles innerhalb der Schleife abgearbeitet ist: THINK DATAFLOW! Frage: Wann ist die Eventstruktur abgearbeitet? Anwort: wenn eines der konfigurierten Events aufgetreten ist! Frage: Wie bringe ich die Eventstruktur dazu, nicht ewig auf einen Knopfdruck zu warten? Antwort: Es gibt ein sogenanntes Timeout-Event… Diese Kette an Frage-Antworten hättest du dir auch allein stellen und beantworten können… Zitat:was ist damit gemeint ?Damit ist gemeint, dass es grober Unfug ist, eine Schleife weitere 11999mal iterieren zu lassen, wenn schon beim ersten Durchlauf ein Fehler auftritt! Wenn du für den ErrorCluster wenigstens ein Schieberegister verwendet hättest, wäre das Gröbste getan. So aber würde deine Schleife eben 11999mal den Timeout beim VISARead abwarten! (Beim standardmäßigen Timeout von 10s wären das immerhin 33.3h…) |