LabVIEWForum.de
Problem Beim Messdatenspeichern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Problem Beim Messdatenspeichern (/Thread-Problem-Beim-Messdatenspeichern)



Problem Beim Messdatenspeichern - tiko - 18.11.2010 02:03

Hallo Labview Leute,
ich habe ein Problem und hoffe, dass ihr mir hlft.
Es geht um ein Sensorauslesen (dms)´, mittels NI PCI 6220 und Daqmx versuche ich die Messdaten zu lesen und zu speichern (TDMS), aber kommt immer eine Fehlermeldung.
Im Anhang ist mein Programmtest, würde gerne wissen woran liegt das Problem.
Danke
Gruß Tiko


Problem Beim Messdatenspeichern - Matze - 18.11.2010 07:59

Hallo,

kurz zur groben Funktionsweise von DAQmx: Das Gerät liest die Werte mit der eingestellten Abtastrate ein und schreibt sie in den RAM des Host-Computers. Läuft dieser Speicher voll, werden die ältesten Werte überschrieben und oben genannte Meldung erscheint.
D.h. du musst die Werte mindestens so schnell aus dem RAM auslesen wie sie dort ankommen.

Du liest die Werte mit 2 kHz ein (2000 Werte pro Sekunde). In der Schleife liest du 200 Werte auf einmal aus dem RAM aus. Diese 200 Werte sollten alle 100 ms abgeholt werden, sonst läuft der RAM voll.
Zusätzlich hast du jedoch eine Verzögerung von 250 ms eingebaut. D.h. der RAM muss zwangsläufig voll laufen. Du holst nämlich ca. alle 250 ms 200 Werte ab und nicht alle 100 ms.
Eine zusätzliche Verzögerungen ist bei DAQmx nicht notwendig, da das VI "DAQmx Read" diese integriert hat und so lange wartet, bis 200 Werte im RAM sind.

Lange Rede, kurzer Sinn:
Es reicht, wenn du dein Warte-VI mit den 250 ms Verzögerung entfernst.Wink


Problem Beim Messdatenspeichern - tiko - 21.11.2010 11:56

Hi Mechatronik-Ingenieur danke für deine schnelle Antwort.
Leider das Problem ist immer noch nicht behoben, ich habe die Verzögerung von 250 ms entfernt, aber hat leider nichts weitergeholfen, bin jetzt wirklich ratlos.
Ich wäre sehr dankbar für eure Hilfe
Gruß Tiko


Problem Beim Messdatenspeichern - RHeil - 22.11.2010 09:32

Offenbar läuft der Erfassungspuffer voll, bevor Du ihn ausliest.
Wie bereits erwähnt, ist es hier definitiv angebracht, die 250ms Wartezeit zu entfernen, da Du ja alle 100ms lesen musst.

Wenn das alleine nicht ausreicht, vermute ich, dass das TDMS-Schreiben zu lang dauert.
Bei 20s und 2000 kS/s bekommst Du 40000 Werte oder 320kB Daten. Das passt locker ins RAM.
Du könntest also versuchen, die Daten während der Messung zu sammeln und dann am Ende in einem Rutsch zu schreiben.
Dann entsteht auch eine TDMS-Datei, die nicht gar so fragmentiert ist, wie die jetzige.

Anderer Ansatz: musst Du wirklich so viele kleine Blöcke lesen? Evtl. reicht es schon, aus der 200 beim AI Read eine 1000 zu machen.


Problem Beim Messdatenspeichern - tiko - 23.11.2010 12:11

Hi RHeil danke für deine Antwort.
kannst du mir bitte erklähren was mit dem Satz hier meinst , und wie realisiert man das.
(Du könntest also versuchen, die Daten während der Messung zu sammeln und dann am Ende in einem Rutsch zu schreiben.)
ich danke euch alle
Tiko