LabVIEWForum.de - 2x Messung der Periodendauer

LabVIEWForum.de

Normale Version: 2x Messung der Periodendauer
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

ich verwende ein 6601 und möchte eine Sequenz von Periodendauern möglichst genau messen. Könnt Ihr meine Lösung ansehen - kann ich hier (außer dem Stil) etwas verbessern? 2x DMA geht ja bei 6601 leider nicht.

Ich frage ich mich z.B. welche Zeitbasis verwende ich?

Danke

Gottfried

PS.: lv12_img
Wieso verwendest du zwei Schleifen?


Zitat:Ich frage ich mich z.B. welche Zeitbasis verwende ich?

Wieso willst du da was ändern? Aus der Hilfe zur Timebase Source:
Typically, NI-DAQmx uses one of the internal counter timebases when performing counter measurements. Use this property to specify an external timebase and produce custom measurement ranges that are not possible with the internal timebases.


BTW: Für was benötigst du die Filterung? Du kannst auch direkt Filter auf der HW aktivieren:
[attachment=45153]

A.
Hallo,

zwei Schleifen sind meines Erachtens notwendig, da die Frequenzen unterschiedlich sind und daher der Kanal1 schon 1000 mal gemessen hat und der zweite noch nicht fertig ist.... oder stimmt das nicht?

Zum Filter: da kann man doch nur Glitches filtern - oder?

Danke

Gottfried
(01.07.2013 11:58 )gottfried schrieb: [ -> ]zwei Schleifen sind meines Erachtens notwendig, da die Frequenzen unterschiedlich sind und daher der Kanal1 schon 1000 mal gemessen hat und der zweite noch nicht fertig ist.... oder stimmt das nicht?

Und? Ist doch egal...du trägst ja doch nicht einen Counter über den anderen auf. Was soll denn dargestellt werden?


(01.07.2013 11:58 )gottfried schrieb: [ -> ]Zum Filter: da kann man doch nur Glitches filtern - oder?

Mann vermeidet damit "Fehlauslösungen" (falsche Flanken) des Counters. Darum meine Frage! Was willst DU filtern?



A.
Könntest du das VI evtl. auf 2011 runterspeichern? Würde mir das gerne mal anschauen.
Die zwei Schleifen sind es deshalb, da die Flankenfrequenzen zeitrichtig zueinader in Relation gesetzt werden sollen. Das nachgeschaltete Filter ist gegen die Unregeläßigkeiten die der chinesische Garagenproduzent bei den Drehgebern verursacht hat.

lv11_img Versin im Anhang

FAGE: DMA = wenig Resourcen, Interrupt = Viele Resourcen - gibt es noch einen praktischen Unterschied?

Danke

Gottfried
Aktuell verwendest du keinen Hardware Sampletakt. D.h. der Zeitpunkt der Sampleerfassung ist rein softwarebestimmt. Die Counter dürften mit der Standardbaseclock laufen. Ist bei der 6601 denke ich 20 Mhz.
Ein weiterer Unterschied zwischen DMA und Interrupts ist, das du nur ne begrenzte Anzahl an DMA Kanälen hast. Bei der 6601 ist es nur einer. D.h. du kannst maximal 1 Tasks auf DMA laufen lassen.

Weiterhin dürfte deine Filterung nicht sauber funktionieren da du aktuell von einer Samplerate von 1 Hz ausgehst da du Fs nicht verdrahtet hast. Zum Filtern ist es dann auch suboptimal das du keinen Sampletakt verwendest und deine Daten damit auch nicht äquidistant sind.
(03.07.2013 21:38 )Holy schrieb: [ -> ]Aktuell verwendest du keinen Hardware Sampletakt. D.h. der Zeitpunkt der Sampleerfassung ist rein softwarebestimmt.

Ist es nicht vielmehr so, das der Zeitpunkt des Sample-"Abholens", also der Pufferabfrage software-bestimmt ist?

Die Erfassung des tatsächlichen Samples, also des Lesens der Signalinformation, geschieht implizit durch den Signaltakt, d.h. die Erfassung triggert sich quasi selber. Im Hintergrund läuft natürlich der interne (sehr stabile) Countertakt, und im Prinzip wird immer die Anzahl der internen äquidistanten Counterticks zwischen zwei externen Flanken gezählt und somit eine Zeit bzw. Frequenz ermittelt.

Von daher ist es m. E. auch nicht richtig, die Signale aus zwei nicht synchronisierten Schleifen (besser: Tasks) neben- bzw. übereinander in den gleichen Graph zu legen. Mindestens ein gemeinsames Triggersignal für beide Counter wäre doch nötig, um die Flanken "zeitrichtig" miteinander zu vergleichen. So in der Art etwa:

https://decibel.ni.com/content/docs/DOC-29569

Und wegen der unterschiedlichen Frequenzen: Du kannst beide Signale in der gleichen Schleife (aus dem Puffer) lesen, das hat ja nichts mit der Erfassung an sich zu tun.

Gruß
Achim
Ja ich glaube da hast du Recht. Die Zeitmessungen der Counter sind da etwas speziell.

Bei deinem zweiten Punkt wird es schwierig. Aufgrund der Zeitmessung darf der Sampletakt (gemeinsames Triggersignal) maximal Signalfrequenz/2 betragen. Sobald du mehr als 1 Sample je Signalperiode versuchst zu erfassten gibt es einen Fehler im DAQmx Read. Da die beiden Signale sehr unterschiedlich sind von der Frequenz wird es hier dann schwierig.

Alternative ist hier einfach eine gepufferte Countererfassung und die Zeitmessung selbst durchzuführen. Einfach bei wechselndem Zählwert die Anzahl der Samples zum letzten Zählwertwechsel ermittelt und über dt hast du die Periode.
Zwischenfrage: Von welcher Größenordnung reden wir eigentlich, ich meine bezüglich Frequenz bzw. Periodendauer?
Aus den Standardwerten des VI kann ich das nicht erkennen...

A.
Seiten: 1 2
Referenz-URLs