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 

DAQmx Messwerte schreiben



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!

14.11.2010, 00:59
Beitrag #1

Maurice Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Oct 2010

8.6
2010
de

76646
Deutschland
DAQmx Messwerte schreiben
Hallo community,

ich habe eine PCI-6259 Messwert-Karte und möchte damit schnelle Messwerterfassung (bis zu 16 Kanäle mit je 1000Hz abtastrate) machen. Die Kanäle sollen sollen im Signalflussdiagramm angezeigt werden und auch in einer CSV - Datei gespeichert werden.

In der angehängten Datei seht ihr wie ich die Messwerte speichere (Symbol: Messwerte in Datei schreiben). Auf diese Weise kann ich aber keine CSV- Datei auswählen, außerdem möchte ich nicht nur die Messwerte des Tasks speichern sondern auch noch andere messwerte die ich über eine Steuerung bekomme "dazuschlüsseln". Zu meinem Problem:

1.) Wie könnte ich das Signal das aus dem DAQmx-read kommt derart aufteilen, dass ich die x-Achse (bei mir die Zeit) und die Kanäle in eine CSV- Datei schreiben kann, denn ich will auf das Symbol "Messwerte in Datei speichern" verzichten. Das Signal das aus DAQmx kommt ist ein 1d- array, mir ist es nicht gelungen, die einzelnen Messwerte (Die Kanäle und die Zeit der x -achse) aufzuteilen so dass ich sie speichern kann. Ich habe auch versucht das Array zu indizieren, aber ohne Erfolg. Ist es möglich diese zu extrahieren? Mit dem Symbol "Messwerte in Datei schreiben" geht es schon ganz gut, aber da kann ich keine anderen Messwerte hinzufügen, die von anderer Stelle kommen.

2.) Wie berechnet Labview die Verzögerung innerhalb einer Schleife, auf welcher Grundlage? Ich konnte feststellen, dass bis zu 30 ms Verzögerung noch genau sind, danach wird es ungenau oder habe ich einen Fehler gemacht.

Danke für eure Hilfe!

Labview Version: 8.6!

Grüße


Angehängte Datei(en)
Sonstige .vi  messwerterfassung.vi (Größe: 50,3 KB / Downloads: 505)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.11.2010, 10:00
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
DAQmx Messwerte schreiben
Daten mit 1 kHz aufnehmen, aber dann immer nur einen Messwert aus DAQmx abholen?!:noe:Das kann nichts werden.
Definitiv immer N Samples auf einen Schwung abholen. Windows ist kein Echtzeit-Betriebssystem, ein Timing genauer als ca. 10 ms in einer Loop wird man NIE hinbekommen.

Schau dir mal die passenden Bsp im NI-Examplefinder an.
"Cont Acq&Graph Voltage - Write Data to File (TDMS).vi" wäre ein passender Einstieg. Daten zwar als TDMS, und nicht als csv, aber du bist schon mal das Express-VI los.

Ein einfacher Weg zu csv-Files wäre: Daten aus DAQmx nicht als Waveform sondern als 2D-Array abholen und mit "WriteToSpreadsheet-File" aus der FileIO-Palette speichern.

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
14.11.2010, 13:02
Beitrag #3

Maurice Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Oct 2010

8.6
2010
de

76646
Deutschland
DAQmx Messwerte schreiben
Hallo Jens,

ich bedanke mich für deine Anregungen. Ich habe mir das Beispiel "Cont Acq&Graph Voltage - Write Data to File (TDMS).vi" einmal angeschaut und auch versucht in mein Projekt zu integrieren. Als Zeitbasis will ich aber den Signalverlauf haben. Dazu schreibe ich auch die Historie des Signalverlaufdiagramms. Als DAQmx read wähle ich analog->mehrer Kanäle->Mehrere Samples -> 2D-DBL und speichere das signal in eine CSV- Datei, leider ohne Erfolg.

Also ich möchte, dass es so aussieht wie in Messwerte.lvm, nur eben, dass ich dann später noch weitere Spalten für andere Messwerte die nicht aus daqmx kommen hinzufügen kann und die Datei muss eine csv -Datei sein. Meine csv-Datei ist aber leerSad. Die lvm-Datei wurde mit dem Express-vi "Messwerte in Datei schreiben" erstellt mit der Grundlage von DAQmx read von einem 1d-Signalverlaufsgraph.
Hast du noch eine Tipp für mich?
Habe das modifizierte vi noch einmal hochgeladen:


Version: 8.6!

Danke,

Grüße Maurice


Angehängte Datei(en)
Sonstige .vi  messwerterfassungTeil2.vi (Größe: 29,31 KB / Downloads: 330)

Sonstige .lvm  messwerte.lvm (Größe: 74,64 KB / Downloads: 277)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.11.2010, 22:37
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
DAQmx Messwerte schreiben
:hmm:Was willst du jetzt? Eine csv-Datei? Oder eine LVM-Datei? (wenn die csv-Datei genauso aussehen soll wie die LVM-Datei, was ist da der Unterschied?) Und mit dem Tab-Zeichen als Spaltentrenner, damit kommen die üblichen Tabellenprogramme wie Excel auch klar.

Dann zu deinem Upload: Was soll das mit dem Timing-VI? Use Waveform? Das ist die Zeiteinstellung für eine Analog-Ausgabe. Du willst doch Daten einlesen. Bleib doch einfach bei den Einstellungen wie in den Beispielen.
Weiter im Text: "Write To Spreadsheet File" hat noch so einen schönen Anschluss: "append to file?", da würde ich an deiner Stelle einmal ein "True" anschließen, du willst doch nicht in jedem Durchgang den File neu anlegen.

Vielleicht kannst du auch bei deinem nächsten Upload den DAQmx-Task mal in Code umwandeln. Ich gehe davon aus, dass du schon irgendwas im MAX konfiguriert hast, bloß weiß keiner außer dir, was?Glas2

Hier mal eine kleine (ungetestete) Anpassung:
Lv86_img
Sonstige .vi  messwerterfassungTeil2.vi (Größe: 29,92 KB / Downloads: 481)


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
14.11.2010, 23:03
Beitrag #5

Maurice Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Oct 2010

8.6
2010
de

76646
Deutschland
DAQmx Messwerte schreiben
Hallo Jens,

ich danke dir für deinen Beitrag, das kann ich gut benutzen. Hätte nicht gedacht, dass man es so einfach realisieren kann.

Viele Grüße

Maurice
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.11.2010, 07:26
Beitrag #6

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
DAQmx Messwerte schreiben
Ich würde noch folgende Verbindung reinziehen, damit die History auf jeden Fall VOR der Schleife ausgeführt wird. Nur weil Du den Property Node links platzierst, wird er nicht vor der Schleife ausgeführt.
   

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.11.2010, 16:59
Beitrag #7

Maurice Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Oct 2010

8.6
2010
de

76646
Deutschland
DAQmx Messwerte schreiben
Die Lösungen sind ganz gut, habe dafür aber eine noch effizientere Lösung gefunden:

http://decibel.ni.com/content/docs/DOC-9543

Hier wird eine producer und eine consumer- loop angewendet zum effizienteren speichern.
(siehe upload)

Jetzt zum Problem: Bei zu hoher Abtastrate (z.B. 20khz) habe ich eine Flaschenhals beim Speichern. Das wirkt sich in eurer Lösung durch einen Fehler aus und in der von National instruments derart, dass nicht alle Zeilen geschrieben werden.

Klar ich könnte das express-vi "Messwerte schreiben" verwenden, aber ich bruahce dringend eine csv, Datei ";"- getrennt, außerdem müssen noch Kanäle aus der SPS dazu geschlüsselt werden.

Was meint ihr?


Angehängte Datei(en)
Sonstige .vi  Cont_Acq_to_spreadsheet_rel_timestamp_LV86.vi (Größe: 24,79 KB / Downloads: 357)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.11.2010, 17:06 (Dieser Beitrag wurde zuletzt bearbeitet: 15.11.2010 17:07 von Y-P.)
Beitrag #8

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
DAQmx Messwerte schreiben
Warum schreibst Du eigentlich dauernd?
Sammle doch die Werte und schreibe sie dann nur z.B. alle 10s (und sammelst dann parallel dazu weiter) oder ganz am Schluss.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.11.2010, 18:04
Beitrag #9

Maurice Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Oct 2010

8.6
2010
de

76646
Deutschland
DAQmx Messwerte schreiben
und wie könnte ich das realisieren? Das "sammeln" wird ja schon durch die Queue realisiert - die ist aber zu klein denke ich, bzw hier ist der Flaschenhals. Man müsste die Queue irgendwie vergrößern und wenn man die Messung stoppt, soll er aus der Queue die Werte "nachspeichern"
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
  DAQmx schreiben und lesen Sakis 2 3.922 06.09.2018 09:36
Letzter Beitrag: Sakis
  DAQmx schreiben mit NSamples Niwo 14 8.263 11.08.2017 13:29
Letzter Beitrag: GerdW
  DAQmx Messwerte fallen ab im Graph samuel 13 8.588 15.01.2014 14:28
Letzter Beitrag: Lucki
  DAQmx Messwerte Chart X-Achse samuel 26 20.696 26.11.2013 10:23
Letzter Beitrag: samuel
  Fehler 200279 bei "Messwerte in Datei schreiben" MHe 1 3.206 12.07.2012 17:35
Letzter Beitrag: GerdW
  Globale virtuelle Kanäle vs. NI-DAQmx-Tasks verschiedene Messwerte steffenm 3 7.994 12.10.2010 20:41
Letzter Beitrag: VIs

Gehe zu: