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?
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?