INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Schnellst mögliche Datenerfassung



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

24.03.2011, 19:58 (Dieser Beitrag wurde zuletzt bearbeitet: 23.05.2011 07:20 von Dennis.Moser.)
Beitrag #1

hyperactivist Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Mar 2011

9.0(32bit)
2011
DE

56070
Deutschland
Schnellst mögliche Datenerfassung
Guten Abend liebe LabView-Gemeinde,

bis jetzt habe ich bereits erfolgreich mit Hochsprachen wie VisualBasic, Delphi und Java programmiert.

Seit neustem programmiere ich auch mit LabView (Version 9.0 / NI USB-6009) und musste leider feststellen, dass sie die Handhabung von dem bis jetzt kennengelernten stark unterscheidet.


Nun zu meiner Aufgabenstellung:

Ich möchte gerne die Zeitdifferenz zweier, dicht aufeinanderfolgender Impulse (Zeitdifferenz von Pik 1 zu Pik 2: 0-6,66 ms) möglichst genau messen.



Jetzt das Problem dabei:

- Ein Zeitstempel kann nur auf bis 1ms genau messen (oder???).
- Meine Messbox hat mit einer Samplerate von 48ks/s, aufgeteilt auf 2 Kanäle, pro Kanal eine Auflösung von 0,042ms/Sample.


Hab ich irgendwie die Möglichkeit die volle Geschwindigkeit meiner Messbox bei dieser speziellen Aufgabe auszunutzen?
Ich hab mir schon überlegt alle Daten erst mal in ein Array zu schreiben, und dann die Indexnummern von dem Pik auszulesen und dann irgendwie Damit weiter zu arbeiten.

Wäre das möglich? Wenn ja, wie bekomme ich die Daten von meinem DAQ-Assistent in ein Array, bei dem die einzelnen Samples quasi den Index bilden?


Oder gibt es einen ganz anderen Ansatz zur Lösung des Problems?



Ich danke Euch schonmal im Voraus für eure Hilfe!

MfG, Hyperactivist
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.03.2011, 20:20
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
RE: Schnells mögliche Datenerfassung
Hi,
offenbar kommen die zwei Peaks auf unterschiedlichen Kanälen, richtig? Deine Karte hat aber nur einen ADC, somit bleibt dir nix anderes übrig, als nacheinander zu messen (macht die Karte ja automatisch). Je schneller die verwendete Karte, desto besser...aber es ist vermutlich wie immer, es darf nichts kosten und deswegen wird absolute LowCost-HW verwendet...

Anyway: Mit deiner Karte tastest du dann eben so schnell wie es geht ab, damit kennst du das t0 und das dt von jedem der Kanäle! Damit kannst du den Zeitpunkt ta (Peak Kanal 1) und tb (Peak Kanal 2) rausfinden.

In der Spezifikation deiner Karte steht außerdem noch irgendwo, wie lange die "interchannel delay time" (oder auch "settling time") ist.

Wenn ich grade richtig denke, kannst du diese Zeit von allen Zeitstempeln des Kanal 2 abziehen und diesen Kanal damit zeitlich leicht verschieben, so dass er quasi zeitgleich mit Kanal 1 abgetastet wurde (näherungsweise!). Bitte korrigiert mich, wenn ich Blödsinn geschrieben haben.

Gruß
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.03.2011, 20:35
Beitrag #3

hyperactivist Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Mar 2011

9.0(32bit)
2011
DE

56070
Deutschland
RE: Schnells mögliche Datenerfassung
Richtig, die Signale kommen von zwei unterschiedlichen Kanälen.
Jedoch gehe ich gerade davon aus, dass die beiden Kanäle abwechselnd abgetastet werden... also: 1 Sample AI0 danach 1 Sample Ai1 und wieder von neu.

Ist das korrekt?

Das heist, ich hätte als Messfehler in meinem Fall den Versatz von einem halben Sample. (Was ich durchaus in Kauf nehmen würde ;-) )


Wenn ich jetzt in meinem DAQ-Assisten einstelle "Zu lesende Samples: 24k" und "Rate:24k/Hz" und mit diesen Einstellungen AI0 und AI1 betreibe, kann ich dann z.B. 2 Arrays (pro Kanal eins) erzeugen, die 24k Stellen groß sind? Also sozusagen alle Samples von einem Kanal enthalten.

Oder wie ist die allgemeine Vorgehensweise bei einer solchen Signalanalyse?



Danke, Hyperactivist
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.03.2011, 09:27 (Dieser Beitrag wurde zuletzt bearbeitet: 25.03.2011 09:41 von Lucki.)
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Schnells mögliche Datenerfassung
(24.03.2011 20:35 )hyperactivist schrieb:  Richtig, die Signale kommen von zwei unterschiedlichen Kanälen.
Jedoch gehe ich gerade davon aus, dass die beiden Kanäle abwechselnd abgetastet werden... also: 1 Sample AI0 danach 1 Sample Ai1 und wieder von neu.
Ist das korrekt?
Das heist, ich hätte als Messfehler in meinem Fall den Versatz von einem halben Sample. (Was ich durchaus in Kauf nehmen würde ;-) )
Fast richtig. Den Versatz von einer halben Sample (d.h. äquidistante Summen-Abtastung) hast Du nur bei hoher Abtastrate. Bei geringer die Abtastrate gilt:
Versatz des zweiten Kanales = 1/fmax + 10µs Beruhigungszeit.
Die Größe das Versatzes kannst Du leicht bei Waveform-Ausgabe an den unterschiedlichen to der einzelnen Kanäle ablesen:
   
(Meine Karte kann 250kS/s = 4µs, +10µs Beruhigunszeit = 14µs Versatz)
Es gib übrigens das VI "Signalverläufe ausrichten", damit wird der Versatz mittels Interpolation korrigiert - was allerdings nicht bei jedem Problem anwendbar ist.

Man kann mit etwas Pfiffigkeit auch bei mehreren Kanälen die volle Abtastrate wie bei einem einzelnen Kanal nutzen. Vorausgesetzt, es handelt sich nicht um einen einmaligen, nicht wiederholbaren Vorgang.
Beispiel 2 Kanäle
Task 1 = Erfassung Kanal 1, Task 2 = Erfassung Kanal 2
Man startet alternierend Task 1 /Task 2 und fasst die Daten dann zusammen. Mit der geringeren Update-Rate kann man in der Regel leben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.04.2011, 14:17
Beitrag #5

hyperactivist Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Mar 2011

9.0(32bit)
2011
DE

56070
Deutschland
RE: Schnells mögliche Datenerfassung
Hallo zusammen,

danke für die bisherige Hilfe.

Jetzt hängt es nur noch an einem Problem:
Was ist das für ein Baustein am Datenausgang von "Lesen"?

Diesen Baustein hab ich nirgendswo gefunden!


MfG, Hyperactivsit
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.04.2011, 16:28
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Schnells mögliche Datenerfassung
(02.04.2011 14:17 )hyperactivist schrieb:  Was ist das für ein Baustein am Datenausgang von "Lesen"?
Falls Du dich auf mich beziehst: das ist doch kein Baustein, sondern eine Anzeige "Array of Waveforms". Am Datenausgang des VI mit rechter Maustaste klicken: "Erstellen --> Anzeige". (In die Graphik habe ich unten eingeblendet, wie die Anzeige auf dem FP aussieht)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Datenerfassung cDAQ + NI9203 keine synchrone Datenerfassung dieseldunst 5 5.812 24.06.2016 14:49
Letzter Beitrag: jg

Gehe zu: