LabVIEWForum.de
User Event in einem Event zünden? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: User Event in einem Event zünden? (/Thread-User-Event-in-einem-Event-zuenden)

Seiten: 1 2


User Event in einem Event zünden? - theodrin - 28.08.2009 10:13

Hallo Leute!

Hab ne Frage bezüglich Event-Cases.
Also mal kurze Einführung:
Ich kommuniziere mit einem Oszilloskop. Hab mir dafür die VIs zur Kommunikation heruntergeladen und installiert und getestet. Die laufen so weit.
Und nun möchte ich gerne Daten vom Oszilloskop einlesen und speichern. Also zweck ist dass man lange Zeit das Signal aufnimmt und sichs später anschauen kann. Und es handelt sich dabei um langsam ändernde Signal also im mHz-Bereich.
So und nu hab ich da mal ein Programm geschrieben und steh nun vor einem Problem. Ziel dieses Tasks: Nimm ...Messpunkte auf und schließ die Messung ab.
Und jetzt mal kurz wie mein Programm aufgebaut ist. Also zuerst mal ein paar Init-Sachen. Dann die Big-While. Dort drinnen mach ich im Grunde genommen alles mit Event-Cases. Auch das messen. Weiß schon, dass das nicht so schön ist, aber hab ich jetzt mal so gemacht. Und zwar messe ich nach Zeit. Das mach ich schlicht und einfach mit dem Timeout-Case. Also ich stell die Zeit des Time-outs ein und wenn einer auftritt misst er.
So und dann hab ich einen Case bei dem er mit dem messen aufhört. (Zeit auf -1 stellen für nie Timeout, Daten speichern, Knöpfe-Einstellungen vornehmen, ...) und dieser Case wird jetzt entweder durch drücken des bestimmten knopfes aufgerufen, oder als User-Event. Und zwar schau ich jedes mal im Time-out Case wie viele Messpunkte er schon hat und wenn die anzahl gleich meiner gewünschten ist, dann zünde ich das User-Event.
Also kurz zusammengefasst: Zündung eines User-Events in einem Event-Case! Problem er führt das gezündete Event nicht aus! Frage: Geht das allgemein nicht, also zünden eines Events in einem Event oder hab ich was falsch gemacht?
Und dann: Wie macht mans besser? Ich hab auch ne 2.te while gemacht in der ich quasi nur die zeit gezählt hab und dann ein Mess-Event aufgerufen hab. Das hat so auch nicht funktioniert. Aber da wars glaub ich weil gleichzeitig 2 Events gezündet wurden. Einmal wieder messen und ende!

Also kann ich das so machen wie ich mir gedacht hab, oder ist das müll und ich muss das anders machen?


User Event in einem Event zünden? - Y-P - 28.08.2009 10:22

Schau' mal da.
Wenn das nichts hilft, dann lade doch mal Dein VI hoch.

Gruß Markus


User Event in einem Event zünden? - theodrin - 28.08.2009 10:38

Ja, ist ne Idee, ich geb schnell mal den betreffenden Case hier rein.

Also man sieht eben das Time-out-Event. Und unten wie eben User Events gezündet werden.
Der Event-Handler zündet einfach nur ein Event und der geht auch. Getetstet und schon verwedet. Also außerhalb eines Event-Cases.


User Event in einem Event zünden? - theodrin - 28.08.2009 10:42

Aber ich hab grad ne schnell Test-Vi geschrieben. Das zünden eines Events in einem Event-Case geht da. Also wie hab ich das gemacht? Ich hab nen Taster. Der zündet ein Event. Dort drinnen hab ich einen Led die einmal toggelt ein wait von 500ms und dann wieder eine Zündung eines User-Events, welches mir in dem User Event eine Led einmal toggelt. Hmmmm....?? wieso gehts dann in dem anderen Case nicht???

Edit: Beim durchleuchten geht das anscheinend so (nicht sicher einmal gemacht!): Er geht in das Event vom Taster arbeitet das Event ab, und geht dann in das nächste Event, auch wenn ich das Event vor dem toggeln zünde. Also kurz gesagt. Er arbeitet das Event zuerst ab und dann ins nächste... Kann das stimmen?

Aber wieso gehts dann anders nicht!!!???


User Event in einem Event zünden? - Y-P - 28.08.2009 10:57

Bahn
Kannst Du mal ein kleines Bsp. hochladen, das Dein Problem zeigt?

Gruß Markus


User Event in einem Event zünden? - theodrin - 28.08.2009 11:11

Ich bin ein vollkoffer!!
Hatte eben zwei User-Events und hab die beiden vertauscht. Hat eh funktioniert.
Ich schau jetzt lieber noch mal und dann meld ich mich noch mal.


User Event in einem Event zünden? - Y-P - 28.08.2009 11:13

:hehe:Alles klar.

Gruß Markus

' schrieb:Ich bin ein vollkoffer!!
Hatte eben zwei User-Events und hab die beiden vertauscht. Hat eh funktioniert.
Ich schau jetzt lieber noch mal und dann meld ich mich noch mal.



User Event in einem Event zünden? - theodrin - 28.08.2009 12:07

Sodala ich lass mein Programm jetzt grad laufen. Es geht also jetzt soweit alles.
Nur bin ich noch immer mit der Struktur etwas unzufrieden.
Also habs jetzt ein bisschen anders gemacht.
Ne 2.te while schleife, die mir quasi als Zähler dient. Dort drinnen schau ich mir immer die aktuelle Zeit an und vergleich sie so, dass wenn die eingestellte Zeit (z.B. 2s zwischen jeder Messung) überschritten wurde, dann löst mein Messevent aus. Meine Messung findet statt und in diesem Event wird auch gleich nachgesehen, ob jetzt eben die eingestellte Anzahl an Messüunkten erreicht ist, oder ob ein Autosafe durchgefürht werden soll,...
Und das scheint alles im Moment ganz gut zu klappen.
Nur kann ich mir nicht vorstellen, dass das so richtig bzw. "gut" programmiert ist.
Also so wie ich das weiß, hat man eine Event-Structure !nur! für User-Aktionen.
Diese läuft in einer while, die keine Verzögerung braucht, weil eh nur was passiert wenn Event ausgelöst wird.
Die Messung hingegegen läuft in einer eigenen While-Schleife, bzw. in einer Timed Loop. Ich habs ja zugegebenermaßen so probiert. Nur hatte ich da Probleme mit den Knöpfen "Pause", "Weiter", "Start" usw...
Also im grunde genommen mit der Steuerung. Weil wie halte ich eine Timed loop an und lass sie dann weiterlaufen?? Und wie beende ich eine Timed Loop aber starte sie später wieder neu... - - - - ohne dafür eine eigene Event-Structure zu verwenden in der die Timed Loop drinnen ist!!!!! ?????
Oder ist der Ansatz schlecht???


User Event in einem Event zünden? - TSC - 28.08.2009 13:55

' schrieb:Ich bin ein vollkoffer!!
...
Wieder was gelernt. Ich habe mir ja angewöhnt, unbekannte Wörter und Begriffe zu googeln:
Vollkoffer sagt man in Österreich für Idiot.
Man lernt nie aus, vielen Dank!

LG
Torsten


User Event in einem Event zünden? - Y-P - 28.08.2009 15:22

Ich kenne halt "Vollpfosten". Big Grin

Gruß Markus