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 

Prinzipielles zur 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!

05.06.2007, 16:06
Beitrag #1

dragonos Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: May 2007

8.2.1
2007
kA


Deutschland
Prinzipielles zur Datenerfassung
Hi,


demnächst muss ich meine erste Datenerfassung mittels DAQmx programmieren.

Ich muss kontinuierlich Daten einlesen und alle Daten in einem Graphen (XY) darstellen. Kann ich innerhalb einer Whileschleife ein Schieberegister verwenden, in dem ich ein expandierendes Array weitergebe?

Gibt es Nachteile in Bezug auf Zeitbedarf der Whileschleife?

Welche anderen Möglichkeiten gibt es? (Ich benötige ALLE erfassten Daten - zum Schluss muss ich z.B. alle Daten in eine Messdatei schreiben)

Gruß,
Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.06.2007, 16:13 (Dieser Beitrag wurde zuletzt bearbeitet: 05.06.2007 16:15 von Achim.)
Beitrag #2

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Prinzipielles zur Datenerfassung
Ich würde nicht zum Schluss alle Daten auf einmal schreiben und solange in nem Array sammeln...stattdessen würde ich entweder bei jedem Durchlauf schreiben ("append to file"), oder zumindest nur ne Weile sammeln (soundso viele Schleifeniterationen, je nach Datenmenge) und dann nen ganzen Block an die Datei anhängen.

Das sammeln in nem Array über ein Schieberegister ist quasi ein "Muss", alternativ könntest du die Messdaten auch in nem (evtl. unsichtbaren) Waveform-Chart (mit entsprechend großer History Size) sammeln.

Wenn du ewig in nem Array sammelst, muss mit jedem Schleifendurchlauf eine komplette Reorganisation des Speichers (durch "BuildArray") stattfinden, und das kostet Zeit...je größer das Array, desto mehr. Außerdem sind bei nem Absturz etc. dann alle Daten weg, wohingegen sie bei kontinuierlichem Schreiben schon mal im File gesichert sind! Evtl. musst du beim Schreiben einer Text-Datei nach jedem Schreibvorgang ein "Flush File" durchführen, nur so werden die Daten nämlich wirklich physikalisch geschrieben. Ansonsten werden Sie nämlich bis zur Beendigung der Schreib-Schleife auch nur im RAM "geschrieben" und erst am Ende auf die HD!

Gruss
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
05.06.2007, 16:48
Beitrag #3

dragonos Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: May 2007

8.2.1
2007
kA


Deutschland
Prinzipielles zur Datenerfassung
Ich bin leider gezwungen alle Werte erst am Schluss zu schreiben, da das Messfile eine gewisse Struktur aufweisen muss.

z.B.:
Anzahl der Werte (x)
Skalenfaktor
Äquidistanz
Startwert
Messwert 1
.
.
Anzahl der Werte (y)
Skalenfaktor
Äquidistanz
Startwert
Messwert 1
.
.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.06.2007, 17:52
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Prinzipielles zur Datenerfassung
' schrieb:Hi,
demnächst muss ich meine erste Datenerfassung mittels DAQmx programmieren.

Ich muss kontinuierlich Daten einlesen und alle Daten in einem Graphen (XY) darstellen. Kann ich innerhalb einer Whileschleife ein Schieberegister verwenden, in dem ich ein expandierendes Array weitergebe?

Gibt es Nachteile in Bezug auf Zeitbedarf der Whileschleife?

Welche anderen Möglichkeiten gibt es? (Ich benötige ALLE erfassten Daten - zum Schluss muss ich z.B. alle Daten in eine Messdatei schreiben)

Gruß,
Alex
Ein paar weitere Fragen/Tips zusätzlich zu dem, was Achim schon gesagt hat.[list]
[*]Um wieviele Daten geht es denn so größenordungsmäßig? Oder weist du genau die Menge, dann bietet sich ein "Replace Array Subset" statt "Build Array"/expandierendes Array an.<>
[*]Wielange dauert die Messung?<>
[*]Welche Messhardware/Messkarte hast du?<>
[*]Wie planst du die Datenerfassung? Hardware-getaktet (sehr zu empfehlen)? Dann ist der Software-Zeitbedarf deiner Whileschleife "relativ" egal, da du dich auf den FIFO-Puffer der Karte "verlassen" kannst.<>
[st]MfG, 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
05.06.2007, 18:30
Beitrag #5

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Prinzipielles zur Datenerfassung
' schrieb:Um wieviele Daten geht es denn so größenordungsmäßig? Oder weist du genau die Menge, dann bietet sich ein "Replace Array Subset" statt "Build Array"/expandierendes Array an.

immer wieder gern genommen: --> RINGSPEICHERWink

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.06.2007, 19:07 (Dieser Beitrag wurde zuletzt bearbeitet: 05.06.2007 19:08 von dc6xs.)
Beitrag #6

dc6xs Offline
registered alien
****


Beiträge: 762
Registriert seit: Aug 2006

6.1,7.00
2006
kA

79106
Sonstige
Prinzipielles zur Datenerfassung
' schrieb:Ich bin leider gezwungen alle Werte erst am Schluss zu schreiben, da das Messfile eine gewisse Struktur aufweisen muss.

z.B.:
Anzahl der Werte (x)
Skalenfaktor
Äquidistanz
Startwert
Messwert 1
.
.
Anzahl der Werte (y)
Skalenfaktor
Äquidistanz
Startwert
Messwert 1
.
.


Spezielles Format hin oder her,
da die Daten ja typischerweise im (Cluster)-Arrray vorliegen, warum nicht erst das Array in einer Datei zwischenspeichern und dann nach Beendung der Messung in das gewünschte Ausgabe-Format umkonvertieren?
Oder sind es soviele Daten das die Umkonvertieung zuviel Zeit benötigen würde ( mehrere Min.)?
Dann würd ich doch irgendwann das Speichern nach dem speziellen Fomat über Bord werfen und das ganze per TCP/IP an ne SQL-Datenbank pumpen.

Aber da Du (noch) nicht erzählt hast genau was Du messen willst und welche Datenmengen da entstehen, können wir viel mit Kanonen auf Spatzen schiessenWink

Gruß, Rob

Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.

N.B.:
"Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.06.2007, 07:30
Beitrag #7

dragonos Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: May 2007

8.2.1
2007
kA


Deutschland
Prinzipielles zur Datenerfassung
' schrieb:Ein paar weitere Fragen/Tips zusätzlich zu dem, was Achim schon gesagt hat.[list]
[*]Um wieviele Daten geht es denn so größenordungsmäßig? Oder weist du genau die Menge, dann bietet sich ein "Replace Array Subset" statt "Build Array"/expandierendes Array an.<>
[*]Wielange dauert die Messung?<>
[*]Welche Messhardware/Messkarte hast du?<>
[*]Wie planst du die Datenerfassung? Hardware-getaktet (sehr zu empfehlen)? Dann ist der Software-Zeitbedarf deiner Whileschleife "relativ" egal, da du dich auf den FIFO-Puffer der Karte "verlassen" kannst.<>
[st]MfG, Jens

Hi Jens,

die genauen Daten habe ich noch nicht. Ich bin gelernter Dipl. Informatiker und habe mit Messkarten, ... wenig Erfahrung. Alle Spezifikationen erhalte ich von einem "Spezialisten" *g*

Es handelt sich um 1000 - 10000 Daten/s.

Die Messung wird durch den Bediener gestartet und beendet - d.h. die Messung kann wenige Sekunden aber auch mal mehrere Minuten (Stunden) dauern. Der Bediener betätigt eine Lenkung und in Abhängigkeit von der Auslenkung soll das Spiel der Lenkung erfasst werden.

Als Hardware soll die Zählerkarte PCI-6601 verwendet werden.

Die Datenerfassung soll hardware-getriggert werden. Hierzu habe ich mir bereits einige Beispiele im Example Finder angeschaut und hoffe sie verstanden zu haben ;-)


Gibt es eine einfache Möglichkeit nur bei einer Änderung der Daten diese zu speichern? Beispiel: Lenkung wird nicht betätigt -> Daten ändern sich nicht. Anstatt 1000 gleiche Werte zu schreiben soll nur ein Punkt geschrieben werden.

Falls die Datensätze von Hand bereinigt werden müssen:
Ist diese Auswertung besser beim Schreiben der Messdatei aufgehoben oder gleich bei der Datenerfassung?

Die Daten sollen ggf. geglättet werden. Gibt es hier schon eine Möglichkeit dies von der Hardware machen zu lassen oder muss ich bei der Datenerfassung z.B. immer den "neuen" gleitenden Mittelwert berechnen (Zeitbedarf der Whileschleife würde sich dann natürlich immer erhöhen)?


Liebe Grüße,
Alex
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 6.559 24.06.2016 14:49
Letzter Beitrag: jg

Gehe zu: