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 

DAQ Datenerfassung Parameter



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!

08.10.2009, 09:34
Beitrag #1

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
DAQ Datenerfassung Parameter
Hallo,

ich hab eine basicfrage. obwohl es banal aussieht, aber brauche dringend hilfe.

(bin total durcheinander auf einmal)

ich lese mit DAQmx (kanal erzeugen.Timing.task starten.task lesen.task stoppen). eine reihe von messdaten.

DAQmx Timing auf kontinuierlich gestellt und Rate=1000 hz (alles andere Default).
DAQmx Lesen ( N kanal. N sampels, Analog 1D waveform) (alles andere Default)

kommt da am ausgang in meinem fall wirklich 1000 werte in der sekunde raus ?


ich bin mit dem gesamten daten paket puffersachen und einzelwert und konti. durcheinander!!

2 screenshots. danke euch.


Angehängte Datei(en) Thumbnail(s)
       

Coming together is a beginning, keeping together is progress, working together is success.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.10.2009, 10:05
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DAQ Datenerfassung Parameter
' schrieb:ich lese mit DAQmx (kanal erzeugen.Timing.task starten.task lesen.task stoppen). eine reihe von messdaten.
Sieht auf den ersten Blick doch alles ganz gut aus.

Zitat:kommt da am ausgang in meinem fall wirklich 1000 werte in der sekunde raus ?
Ich sag mal ja.
Auf eine Sekunde hochgerechnet kommen 1000 Werte pro Kanal heraus. Das muss so sein, weil du das im DaqMX ja so konfiguriert hast. Da deine While-Schleife eine Wartezeit von 100ms enthält, bekommt du also nicht 1mal 1000 Werte pro Sekunde, sondern 10mal 100 Werte. (Dass es möglicherweise nicht genau 1000, sondern vielleicht 998 oder 1004 Werte sind, kann vorkommen und liegt im weitesten Sinne am Windows-Betriebssystem.)

Zitat:ich bin mit dem gesamten daten paket puffersachen und einzelwert und konti. durcheinander!!
Was genau hat dich denn jetzt durcheinander gebracht?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.10.2009, 10:14
Beitrag #3

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
DAQ Datenerfassung Parameter
Sehe ich das richtig, dass die 1000 für "N Samples pro Kanal" nicht mit dem Timing.vi verbunden ist?

Wenn dem so ist, könnte LabVIEW die Puffergröße selbst wie folgt festlegen:

   

... in deinem Fall also 10 kS



Gruß dimitri

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.10.2009, 10:36
Beitrag #4

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
DAQ Datenerfassung Parameter
' schrieb:Sieht auf den ersten Blick doch alles ganz gut aus.

Ich sag mal ja.
Auf eine Sekunde hochgerechnet kommen 1000 Werte pro Kanal heraus. Das muss so sein, weil du das im DaqMX ja so konfiguriert hast. Da deine While-Schleife eine Wartezeit von 100ms enthält, bekommt du also nicht 1mal 1000 Werte pro Sekunde, sondern 10mal 100 Werte. (Dass es möglicherweise nicht genau 1000, sondern vielleicht 998 oder 1004 Werte sind, kann vorkommen und liegt im weitesten Sinne am Windows-Betriebssystem.)

Was genau hat dich denn jetzt durcheinander gebracht?


So vielen dank für schnelle antwort. da bin ich mal bis. beruhigt.

so ich hab ein kleines Vi gemacht. damit es anschaulicher wird. für 2 signale.

im bsp. lese ich mit 10hz lesen. dann softwaremässig für manche signale abtasten. darum wollte ich dass ich gleiche sampelanzahl bekomme.
problem ist hier nach ich nochmal das gleiche signal abtaste mit 1 hz. dann original mit 10 hz. und 1 hz abgetastet nebeneinander speichern. die zeiten sind irgendwie nicht synchron in der tabelle!
das ist was mich irritiert jetzt!

hab das vi und ein test bsp. angehängt. woran liegs? wenn ich wartezeit in der 1.schleife grösser mache, passt das irgendwie! aber das ist keine lösung

grüße
lv. version 8.6


Angehängte Datei(en) Thumbnail(s)
           

Sonstige .vi  MainVI.vi (Größe: 107,48 KB / Downloads: 156)

Coming together is a beginning, keeping together is progress, working together is success.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.10.2009, 19:28
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
DAQ Datenerfassung Parameter
Wenn du immer 100 Werte in einem Schwung auslesen willst, dann mach das doch einfach:

   

Dann kannst du auch auf das Timing-VI verzichten, das arbeitet eh nicht genau genug für diesen Zweck.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.10.2009, 20:24
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DAQ Datenerfassung Parameter
' schrieb:die zeiten sind irgendwie nicht synchron in der tabelle!
das ist was mich irritiert jetzt!
Ich glaube ich konnte deine Bedenken - nach stundenlangen Versuchen - nachvollziehen.

Warum aber das VI "Resample" manchmal einen T0-Offset hat, kann ich mir nicht erklären. Auch nicht, warum die Werte, die in der Datei in einer Zeile stehen, unterschiedliche Timestamps haben. Das sieht dann so aus, als ob die resamplte Kurve verschoben ist. Eine Verschiebung kann aber trotzdem synchron sein.

Was aber klar ist:
Nimmt man von der zweiten Kurve im File nur die Zeilen, in denen etwas steht, dann ergibt das genau die gewünschte resamplte Kurve! Eigentlich ist es doch egal, wieviele Leerzeilen zwischen zwei Kurvenwerten stehen. Hauptsache, die Kurve, die aus den abgespeicherten Werten entsteht, entspricht den Erwartungen - und das macht sie.

So gesehen mach dein Programm also genau das, was du willst. Die Tatsache, dass das File nicht so aussieht, wie man es gerne möchte, würde ich mal ignorieren.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.10.2009, 07:50
Beitrag #7

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
DAQ Datenerfassung Parameter
' schrieb:So gesehen mach dein Programm also genau das, was du willst. Die Tatsache, dass das File nicht so aussieht, wie man es gerne möchte, würde ich mal ignorieren.

Danke für Antworten.:)Wie du gesagt hast IchSelbst, haupsache VI arbeit richtig! und das tut sie.
danke nochmal.
ich hatte in dieser stelle eine andere frage, wenn es passt. Wenn ich zu diesem AI eingang ein Digital eingang oder Counter (für Drehzahl messung) lesen will per DAQ geht das wie vor ? ich meine wegen synchronisieren beide kanäle? und wie kann ich die gesamte daten (Digital + Analog) per Queues weiterschicken ? signale einfach verbiden geht nicht in diesem fall..

wäre nett, wenn jemand mir tipps gibt.
danke nochmal.


Angehängte Datei(en) Thumbnail(s)
   

Coming together is a beginning, keeping together is progress, working together is success.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.10.2009, 10:08
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DAQ Datenerfassung Parameter
' schrieb:Wenn ich zu diesem AI eingang ein Digital eingang oder Counter (für Drehzahl messung) lesen will per DAQ geht das wie vor ? ich meine wegen synchronisieren beide kanäle?
Ich mach das bisher im Prinzip auch immer so, wie du das programmiert hast.
Leg die beiden DaqMX-Start-VIs (die mit dem grünen Pfeil) gemeinsam in einen Sequenzrahmen. Dann starten beide Tasks eigentlich gleichzeitig. Wenn du nur mit 1KHz abtastest, spielt der ganz kurze Zeitunterscheid, der hier immernoch vorhanden ist, keine Rolle. Beide Tasks werden synchron laufen.

Ich glaube es gibt noch folgende Möglichkeit (kann ich aber erst [*grübel*] heute am sehr späten Abend [*grübel*] besser morgen früh verifizieren):
Man kann bei einer Task die Quelle des Abtastrasters angeben. Normalerweise ist das ein Zeitgeber, der eben z.B. 1kHz macht. Man kann aber auch sagen, dass die CounterTask das Abtastraster der Analogtask nehmen soll! Wie das genau geht muss ich erst nachkucken.

Zitat:und wie kann ich die gesamte daten (Digital + Analog) per Queues weiterschicken ? signale einfach verbiden geht nicht in diesem fall..
Kann man bei Counter nicht Waveform einstellen?

Ansonsten kann man das 1D-Array auch in ein Waveform umwandeln. Hierzu nimmst du den Waveform der Analogtask, extrahierst T0 und dT und machst aus T0, dT und dem Counter-1DArray ein Waveform. Dieses Waveform kannst du dann mit dem Waveform vom Analogkanal verbinden zu einem neuen Waveform, das dann Analog und Counter enthält.

Beachte aber folgendes: Lies mit dem DaqMX-Rd immer 100 Werte aus. Hierzu musst du 100 an den entsprechenden Eingang anlegen (siehe Posting oben von Y-P). Wenn du ohne diese 100 (also mit -1, was heißt: "alles was da ist") kann es vorkommen, dass unterschiedliche Anzahl von Abtastwerten gelesen werden. Das ergibt dann aber ein Problem bei der nachfolgenden Waveform-Generierung.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.10.2009, 10:35
Beitrag #9

Prince Amir Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 134
Registriert seit: Aug 2009

8.6 - 2009
2009
de_en

80809
Deutschland
DAQ Datenerfassung Parameter
' schrieb:Ansonsten kann man das 1D-Array auch in ein Waveform umwandeln. Hierzu nimmst du den Waveform der Analogtask, extrahierst T0 und dT und machst aus T0, dT und dem Counter-1DArray ein Waveform. Dieses Waveform kannst du dann mit dem Waveform vom Analogkanal verbinden zu einem neuen Waveform, das dann Analog und Counter enthält.

Ich glaube es gibt noch folgende Möglichkeit (kann ich aber erst [*grübel*] heute am sehr späten Abend [*grübel*] besser morgen früh verifizieren):
Man kann bei einer Task die Quelle des Abtastrasters angeben. Normalerweise ist das ein Zeitgeber, der eben z.B. 1kHz macht. Man kann aber auch sagen, dass die CounterTask das Abtastraster der Analogtask nehmen soll! Wie das genau geht muss ich erst nachkucken.


Beachte aber folgendes: Lies mit dem DaqMX-Rd immer 100 Werte aus. Hierzu musst du 100 an den entsprechenden Eingang anlegen (siehe Posting oben von Y-P). Wenn du ohne diese 100 (also mit -1, was heißt: "alles was da ist") kann es vorkommen, dass unterschiedliche Anzahl von Abtastwerten gelesen werden. Das ergibt dann aber ein Problem bei der nachfolgenden Waveform-Generierung.


sehr nett von dir. ich kann leider das mit DI nicht gerad probieren, aber der einsatz ist gut.! wäre nett wenn du zu deinem vorschlag mehr schreibst, wenn du ausprobierst.

vielen Dank, wieder was gelernt. bei einer abtastrate von 1000hz sollte ich dann auf 1000 umstellen.richtig?

Coming together is a beginning, keeping together is progress, working together is success.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.10.2009, 11:23
Beitrag #10

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DAQ Datenerfassung Parameter
' schrieb:vielen Dank, wieder was gelernt. bei einer abtastrate von 1000hz sollte ich dann auf 1000 umstellen.richtig?
Ja, wenn der Eingabeparameter die Größe Hz hat, muss bei 1kHz hier natürlich 1000 stehen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
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
  Timing Parameter im MAX UND im VI angeben dimitri84 2 3.101 19.03.2010 08:49
Letzter Beitrag: dimitri84

Gehe zu: