LabVIEWForum.de - Probleme beim Messen der Periodendauer mit Hilfe des "Pulse Measurements.vi"

LabVIEWForum.de

Normale Version: Probleme beim Messen der Periodendauer mit Hilfe des "Pulse Measurements.vi"
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

bin noch relativ neu im Umgang mit LabVIEW und hoffe, dass mir hier im Forum geholfen werden kann.
Vorab ein paar kurze Infos. Ich nutze die Version 2011 und versuche mit einem NI 9221 Modul anhand eines analogen Spannungseingangssignals (ein Rechtecksignal), dass mir mein Drehzahlsensor liefert, die Periodendauer meines Eingangssignals zu messen.
Hierzu habe ich mir gedacht das "Pulse Measurements.vi" zu nutzen. (Außerdem habe ich auch probiert direkt die Frequenz auszugeben über das Express vi "Timing and Transmission Measurements")

Mein Problem dabei: Es wird nichts angezeigt bzw. gemessen. Weder bei meinem Aufbau mit dem "Pulse Measurements.vi" noch bei dem anderen mit dem Express vi. Bevor ich den Sensor in meinem Aufbau integriert habe, habe ich mir ein Signal generieren lassen und dort versucht die Periodendauer zu messen. Dies hat ohne Probleme funktioniert.
Zum besseren Verständnis habe ich euch mal den aktuellen Aufbau meines Programmaufbau mit dem Pulse "Measurements.vi" angehängt und den Test-Aufbau in dem ich mit einem generierten Signal gearbeitet habe.

Meine Fragen hierzu sind:

1) Ist es grundsätzlich überhaupt möglich auf diese Weise die Periodendauer bzw. die Frequenz zu messen? (FFT kommt eher weniger in Fragen, weil diese zu ungenaue Werte liefert und zu große Sprünge hat)

2) Wo ist in meinem Aufbau der Fehler bzw. wieso bekomme ich keine Werte?


Vielen Dank schonmal im Voraus.
Hallo zusammen,

bin mittlerweile schon ein bisschen weitergekommen mit meinem Problem. Hab in der Labview Hilfe ein sehr gutes Beispiel (labview\examples\measure\maxmpl.llb) gefunden, mit dem ich die Periodendauer messen kann. Allerdings gibt mir das Programm immer noch nicht die Periodendauer aus.
Als Fehlermeldung bekomme ich: Die Amplitude der Waveform ist 0.

Ich habe daher das Programm nochmal verkleinert und versuche den Fehler bei der Konvertierung meines Eingangssignals in eine Waveform zu finden.
(Hab das Programm mal mit angehängt.)
Ich bin mir allerdings auch nicht sicher, ob die Konvertierung des double-Signals in ein 1D Array of double so richtig ist.

Kann mir vielleicht jemand sagen wieso die Amplitude 0 ist bzw. wo bei der Umwandlung des Signals mein Fehler ist?

Wäre super wenn mir jemand weiterhelfen könnte. Danke schonmal!


Gruß stud_bay
Hallo stud,

du erzeugst eine Waveform mit genau einem Messwert. Wie willst du an diesem einem Messwert eine Pulsdauer messen?

Probier doch mal aus, mehr als nur einen Messwert anzusammeln, dann könnte eine Pulsdauer-Berechnung auch sinnvoll sein Smile
Hallo Gerd,

danke erstmal für deine Hilfe. Hab den Fehler gestern sogar selbst noch herausgefunden.

Könntest du mir auch sagen, wie ich mehrere Messwerte ansammle bzw. wie ich es schaffe, dass der aktuelle Messwert nicht ständig überschrieben wird?

Wahrscheindlich ist es relativ einfach für einen erfahrenen LabView-Nutzer, aber ich (Anfänger) komm irgendwie nicht dahinter.
Danke!

Gruß stud_bay
Hallo nochmal,

hab mittlerweile erreicht, dass ich Messwerte zu verschiedenen Zeitpunkten erhalte (siehe Bild "Werte" im Anhang).
Das Problem ist nur, dass die Messwerte ständig überschrieben werden und ich deshalb für jeden Zeitwert dieselbe Amplitude bekomme. Grafisch gesehen bekomme ich einfach eine Gerade.
(Bild des aktuellen Programms siehe Anhang)

Kann mir vielleicht jemand sagen wie ich es hinbekommme, dass ich zu jedem Zeitpunkt die entsprechende Amplitude bekomme?

Danke!

Gruß stud_bay
Hallo stud,

hast du dir mal (wirklich?) überlegt, was du da programmiert hast?
Du nimmst eine FOR-Loop, die einen Wert x-mal in ein Array packt. Und noch besser: Im ersten Durchlauf der While-Schleife werden null Werte ins Array geschrieben, beim zweiten Durchlauf genau einer, beim dritten dann zwei, usw. - und zwar immer die selben Werte, weil ja immer nur ein Einzelwert zur Verfügung steht...

Hast du schon mal die Einsteigerkurse gemacht? (Link in meiner Signatur...)
Hast du schon mal mit Schieberegistern gearbeitet?
Hallo Gerd,

(14.08.2012 10:17 )GerdW schrieb: [ -> ]Hast du schon mal die Einsteigerkurse gemacht? (Link in meiner Signatur...)
Hast du schon mal mit Schieberegistern gearbeitet?
Nein, ich habe leider noch keinen Kurs belegt und arbeite erst seit kurzem mit LabView.
Über Schieberegister habe ich bereits gelesen, nur wusste/weis ich nicht wie ich es in meinem Fall anwenden muss/müsste.

Werde mir die NI-Einführung zu LabView (aus deiner Signatur...) mal anschauen und versuchen so auf die Lösung zu kommen.
Würde mich allerdings auch freuen wenn du mir eine mögliche Lösung meines Problems kurz skizzieren könntest (sofern dies nicht zuviel Aufwand für die darstellt)

Danke!

Gruß stud_bay
Hallo stud,

eine Anregung:
[attachment=41081]
Referenz-URLs