LabVIEWForum.de - kontinuierliche Datenerfassung mit DAQ-Assistent funktioniert nicht

LabVIEWForum.de

Normale Version: kontinuierliche Datenerfassung mit DAQ-Assistent funktioniert nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!

Ich weiß dass dieses Thema schon des öfteren behandelt worden ist, nur konnte ich bis jetzt auch in alten Threads keine Lösung finden...
Bin noch Labview-Neuling und möchte mittels DAQ-Assistenten 6 analoge Spannungen kontinuierlich erfassen und speichern (jeweils 1000Hz Rate und 100Samples dann mittels "Write To Measurement File" speichern). Leider werden die Werte in einer eigenartigen Reihenfolge gespeichert, z.B. die ersten 100 Werte sind in Ordnung, dann wird ca. 13sec lang nichts aufgezeichnet, dann sind wieder 100Samples in Ordnung und wieder 8sec lang nichts und so weiter. Teilweise springt auch der Zeitstempel einige Sekunden zurück Wink
Hab schon alle möglichen Sampleraten und Größen ausprobiert, das Timeout auf -1, 0 verstellt, etc. jedoch konnte nichts mein Problem beheben. Der DAQ-Assistent und "Write to Measurement File befinden sich dabei in einer While-Schleife.
Wäre für jeden Tip sehr dankbar Smile

LG Madlen
Hallo Madlen,
ein VI, oder zumindest Scrrenshots von deinen Konfigeinstellungen und deinem Blockdiagramm wäre sinnvoll.
So wird dir keiner helfen können.

Gruß
Weitere Infos: Welche DAQ-Karte?

Glas1 Hast du 6 DAQ-Assis angelegt, jeweils mit 1x AI? Dann geht das bei den allermeisten DAQ-Karten schief! Pack alle AI in einen Task!

Gruß, Jens
Hallo!

Danke für eure Hilfe. Hier ist das gesamte VI wie es schlussendlich ablaufen sollte. Es befinden sich alle Tasks in einem DAQ-Assistenten. Über die serielle Schnittstelle werden Motoren gestartet an welchen dann die Spannung gemessen wird.
Über die Samplegröße soll gemittelt werden und nur die Mittelwerte gespeichert werden.
Die Werte im File schauen bei diesen Einstellungen so aus:

08:56:46,971 0,019057 0,011226 0,013905 0,002147 0,015514 0,016643
..... (kontinuierlicher Zeitverlauf über 271 Werte)
08:57:13,771 0,019401 0,019273 0,017159 0,005119 0,01885 0,019703
08:57:13,871 0,021693 0,02234 0,021109 0,008419 0,02233 0,023266
08:57:13,971 0,021772 0,021821 0,021539 0,009338 0,022816 0,023693
08:56:46,871 0,018426 0,016295 0,015383 0,002738 0,017149 0,018049
08:57:24,464 0,020885 0,017448 0,018397 0,005693 0,019756 0,020853
08:57:24,564 0,021217 0,021795 0,020922 0,008451 0,022153 0,022954
08:57:24,664 0,023591 0,022543 0,021765 0,010034 0,023926 0,024947
.... (kontinuierlicher Zeitverlauf über 109 Werte)
08:57:35,164 0,016318 0,015294 0,015944 0,003126 0,017129 0,018141
08:57:35,264 0,016712 0,011978 0,01315 0,001419 0,015376 0,016387
08:57:24,364 0,025397 0,024599 0,024244 0,011541 0,025607 0,026694
08:57:47,286 0,022478 0,021516 0,022737 0,010218 0,023857 0,024543
08:57:47,386 0,021398 0,017812 0,020317 0,007595 0,021598 0,022461
...
Auch ohne Mittelung oder mit -1 als Timeout sehen die Werte gleich aus. Mit Timeout 0 werden keine Werte ins File gespeichert.
So, ich glaube ich habe nun den Übeltäter gefunden Smile
Scheinbar hat die Highlight-Funktion dieses Chaos in der Datenerfassung verursacht...

Hatte nicht gedacht, dass die Geschwindigkeit des VI durch die Highlight-Funktion tatsächlich reduziert wird!
H
Zitat:atte nicht gedacht, dass die Geschwindigkeit des VI durch die Highlight-Funktion tatsächlich reduziert wird!
Mal ehrlich: du darfst dem DATAFLOW bei der Arbeit zugucken und es soll nicht langsamer laufen?

Außerdem gibt es da ja immer noch die LabVIEW-Hilfe, die sowas alles beschreibt! Rtmfx
Hab gedacht das es den Datenfluss veranschaulicht, aber nicht das dies in Echtzeit abläuft... Sollte doch dabei helfen Fehler zu finden und keine erzeugen!
Außerdem darf man bei seinem ersten Programm schon noch solche Fehler machen Wink

Aber was ich dennoch nicht verstehe ist, warum dadurch Zeitsprünge in die Vergangenheit im Logfile entstehen.
Durch die verlangsamte Geschwindigkeit dürften doch einfach nur Werte fehlen, oder!?
Hallo madlen,

habe mal noch einen Blick in dein VI geworfen:
- Wenn du schon Konstanten an SerialPortInit anschließt, dann solltest du dort CoercionDots vermeiden. Passende Konstanten erzeugt man per Rechtsklick! Und man braucht eben nicht die Defaultwerte noch einmal programmieren…
- Das AutoCleanup-Tool wirkt Wunder bei deinem VI…
- Konsequente ErrorCluster-Verdrahtung ist zu empfehlen…
- Ich bin kein Freund von Labels mit Zeilenumbruch. Spätestens bei Event-Cases sieht das dann sehr komisch aus. Sowas erledigt man besser mit Captions/Untertiteln!

Siehe Anhang…

Zitat:Aber was ich dennoch nicht verstehe ist, warum dadurch Zeitsprünge in die Vergangenheit im Logfile entstehen.
Durch die verlangsamte Geschwindigkeit dürften doch einfach nur Werte fehlen, oder!?
Es könnte damit zusammenhängen, dass du die (neue) Option nutzt, direkt XLSX-Dateien zu schreiben. Das habe ich noch nie genutzt und mir auch noch nicht genauer angeschaut.
Passiert das gleiche, wenn du "simple" TDMS-Dateien erzeugst? TDMS kann man in Excel auch einlesen, mit LabVIEW wird ein entsprechendes Excel-Plugin installiert…
Referenz-URLs