LabVIEWForum.de
Messung über zwei Countereingänge - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Messung über zwei Countereingänge (/Thread-Messung-ueber-zwei-Countereingaenge)

Seiten: 1 2


Messung über zwei Countereingänge - AnnaGT - 29.11.2012 13:48

Hallo!

Ich benutze zwei Datenerfassungskarten USB-6009.
Beide Countereingänge (1 pro Karte) sind bei mir besetzt und ich versuche von beiden Counters gleichzeitig Impulse zu messen. Eins soll der Brennstoffmassenstrom messen und eins ist für die Drehzahl.
Wenn ich das VI. laufen lasse, und die Turbine rotiert, wird die Drehzahl richtig aufgenommen. Wenn ich Brennstoff pumpe wird dieser angezeigt, aber gleichzeitig wird eine sehr hohe Drehzahl angezeigt.

Ich habe die Spannung am Zählereingang zur Drehzahlerfassung beim Brennstoffpumpen gemessen und die ändert sich nicht.

Mit den beiden angehängten VIs kriege ich das oben beschriebene Effekt. Das Bild zeigt die Signalverläufe beim Pumpen von Brennstoff.

Weißt ihr woran es liegen kann?

Vielen Dank für die Hilfe!

Grüße,
Anna


RE: Messung über zwei Countereingänge - GerdW - 29.11.2012 14:07

Hallo Anna,

warum startest und stoppst du die CTR-Task in jeder Iteration?

Probier mal das VI im Anhang aus. Es ist noch nicht perfekt, sollte aber lauffähig sein...


RE: Messung über zwei Countereingänge - AnnaGT - 29.11.2012 14:53

Hallo!

Danke GerdW!

Ich habe es ausprobiert.

Ziel des Starts und Stops war das Counter zu reseten.

Ich kriege das gleiche Problem, mit dem Unterschied, dass der Counter nicht reseted wird und deswegen die Impulseanzahl steigt.

Hast du weitere Ideen woran es liegen kann? Confused

Grüße,
Anna


RE: Messung über zwei Countereingänge - GerdW - 29.11.2012 14:58

Hallo Anna,

Zitat:Ich kriege das gleiche Problem, mit dem Unterschied, dass der Counter nicht reseted wird und deswegen die Impulseanzahl steigt.
Das die Impulsanzahl steigt, ist gewollt. Deswegen berechne ich ja die Differenz zwischen aktuellem und vorhergehendem CTR-Wert (da muss man nicht dauernd die CTR resetten)!

Warum die beiden CTR sich beeinflussen sollten, wenn sie in der gleichen Schleife abgefragt werden, ist mir allerdings unklar...


RE: Messung über zwei Countereingänge - AnnaGT - 29.11.2012 15:01

Meine Frage war eingentlich, warum sie sich beinflussen.

Das Reseten nach jeder Schleife war in meinem Fall gewollt, um aus Impulse/Zeit die gemessene Größe ausrechnen zu können.


RE: Messung über zwei Countereingänge - GerdW - 29.11.2012 15:03

Hallo Anna,

was passiert, wenn du beide CTR-Task in einem VI aber in getrennten Schleifen laufen lässt?

(Kommentar zum CTR-Reset s.o.)


RE: Messung über zwei Countereingänge - AnnaGT - 29.11.2012 15:13

In getrennten While-Schleifen?

Also mit der getrennten sequentiellen Struktur, wie ich vorher angehängt habe, kriege ich dasselbe Problem.


RE: Messung über zwei Countereingänge - GerdW - 29.11.2012 15:15

Hallo Anna,

ja, in getrennten Schleifen!

Wenn beide CTR vorher in getrennten VIs korrekt liefen, sollten sie dies immer noch tun, wenn du den Inhalt beider VIs in ein einziges VI zusammenlegst...


RE: Messung über zwei Countereingänge - AnnaGT - 29.11.2012 15:15

Ich habe es am Anfang auch so gemacht, dass ich das vorherige Wert abgezogen hatte, aber dann ist man ja nicht sicher ob der Counter nicht mal voll wird und von 0 anfängt zu zählen. Das war nur um diesen Fall zu vermeiden.
In getrennten VIs hat es funktioniert.
Aber deswegen die Frage ob sie aneinander beinflussen können.

Ich versuche es gleich mit den zwei Schleifen und mit dem Ctr der Drehzahl allein in einem VI beim Brennstoff pumpen.

Danke für die Tipps!

Ich sage dann Bescheid! Wink


RE: Messung über zwei Countereingänge - GerdW - 29.11.2012 15:20

Hallo Anna,

Zitat:am Anfang auch so gemacht, dass ich das vorherige Wert abgezogen hatte, aber dann ist man ja nicht sicher ob der Counter nicht mal voll wird und von 0 anfängt zu zählen.
- Ja, der Counter hat irgendwann einen Überlauf, immerhin sind das nur U32-Werte, die bis 2^32-1 ~= 4*10^9 zählen können.
- Den Überlauf könnte man programmatisch abfangen (Wenn neuer Zählerwert kleiner als alter, dann Überlauf).
- Bei der Differenzbildung mit U32 wird der Überlauf automatisch korrigiert, wie man selbst schnell testen kann:
[attachment=42424]
- Selbst wenn der Überlauf nicht korrigiert würde, würde er auch nur in einer Iteration störend auffallen...