LabVIEWForum.de - Messwerterfassung auf fallende Flanke

LabVIEWForum.de

Normale Version: Messwerterfassung auf fallende Flanke
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich steh wiedermal voll auf der Leitung Blink

Ich muss jeweils nach der fallenden Flanke eines Signals welches ich selbst ausgegeben hab einen Wert eines anderen Kanals einlesen.


MeinAusgang:___||_________||_________||______
Mein eingang:____||_________||_________||____ (ein High bedeutet 1 sample lesen)

Ich hab mir das so überlegt, dass ich das ausgegebene Signal auf ein PFI eingang zurückführe um triggern zu können. D.h sobald an PFI eine fallende flanke kommt lese ich meinen Eingang einmal und das soll dann wiederholt (18mal) geschehen.

Ich bekomm das leider nicht umgesetzt mir fehlt da einfach das Knowhow da ich mit der Datenerfassung nicht viel Erfahrung hab. Ich hab verschiedene Versuche getestet aber keins will recht.

Kann mir jemand auf die Sprünge helfen?
Falls meine Überlegungen falsch sind bzw es einfacher ginge ich bin für jeden Ratschlag offen.

Soweit mein letzter Ansatz.
[attachment=47050]

[attachment=47051]
Also wenn du mehrfach einen Kanal erfassen willst, dann würde ich mit einer "externen" Clock arbeiten, nicht mit Trigger. Der dient zum Start der Datenerfassung.

Gruß, Jens
Momentan liest Du nach einer Flanke 18 Mal und nicht nach 18 Flanken jeweils einmal. Das wolltest Du doch aber, oder?

Gruß Markus
Das hab ich mir auch schon gedacht aber leider kann ich das nicht entscheiden, da ich die HW vorgegeben habe und da gibt es leider keinen clock -.-
(31.10.2013 11:03 )Y-P schrieb: [ -> ]Momentan liest Du nach einer Flanke 18 Mal und nicht nach 18 Flanken jeweils einmal. Das wolltest Du doch aber, oder?

Gruß Markus

ich wollte nach jeder flanke 1 messwert ja.
Hallo chrigi,

wenn du eine Flanke zur Verfügung hast, bei der du einen Messwert aufnehmen willst, dann musst du dieses Pulssignal als "externe Clock" verwenden. Clock heißt hier nicht, dass du ein (streng) periodisches Signal hast, sondern nur, dass du externe Pulse hast...

Es gibt da fertige DAQmx-Beispiele für diesen Anwendungsfall!
http://zone.ni.com/devzone/cda/epd/p/id/5009
Das müsstest Du noch etwas anpassen (evtl. Trigger raus,....).

Gruß Markus
Danke für die Tipps ich hab das ganze jetzt angepasst:
[attachment=47052]


Ich frag mich nur grad wozu ich ne clockrate mitgeben muss ich dachte das sei vorgegeben durch die HW.
Bekomme ich so das was ich erwarte also auf jede negativ Flanke ein Messwert oder überspringt mir manchmal ne Flanke?
Hallo

Ich komm leider nicht weiter.

Problem:
Ich generiere ein Signal welches alle 50ns ein impuls von 25ns High und 25ns Low ausgibt. Nun möchte ich auf Jede negative Flanke dieses Signals auf einem Kanal einen Messwert nehmen (digital). Also habe ich den Ausgang auf meinen PFI5 zurückgeführt um dieses Signal als Clock zu benutzen. Jetzt muss ich quasi nur noch auf jede Fallende Flanke samplen.

Ich hab das ganze "realisiert". Leider funktioniert es nicht ich bekomme keine Daten bis dann das Timeout eintritt.

Was habe ich falsch gemacht bzw. wie müsste das dann aussehen?

Hier meine Programmierung:

[attachment=47174]

als vi:
[attachment=47176]

Schonmal Danke im Voraus
Hallo chrigi,

du redest hier von 200MHz-Signalen: welche Hardware verwendest du?

- Du schreibst erst dein Signal und startest danach deinen DI-Task. So kann das nicht funktionieren. Hast du auf das Autostart-Feature des DAQmxWrite geachtet?
- Du willst 200MHz-Signale einlesen, indem du Einzelwerte vom DAQmx abfragst? Wieviele Werte sollen das werden?
Oh das mit den 50 bzw 25ns ist ein Fehler das ganze sollte 500 & 250ns sein ich hab ne 50MHz karte pcie 6537.


Ich lese insgesamt 18 mal, das kommt daher dass ich ein AD-Wandler mit serieller schnittstelle auslesen muss der hat eine 18bit Auflösung.

Den Autostart vom write hab ich jetzt mal deaktiviert aber das hat keinen Einfluss.
Referenz-URLs