LabVIEWForum.de
Schieberegister - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Schieberegister (/Thread-Schieberegister--17222)



Schieberegister - claus - 28.07.2005 12:49

Hallo,
mein Problem besteht darin, dass ich alle Daten die vom Daq-Pad und vom CAN-Bus kommen auch speichern muß. Dazu hab ich mir überlegt, zuerst die Daten ins Schieberegister zu laden und erst nach der Beendigung der Aufnahme als Datei zu speichern.
Das funktioniert aber nicht so recht. LabVIEW speichert z.B. bei einer Abtastrate von 300Hz nur 3 Werte und ich weiß nicht genau an was es liegt, liegt es vielleicht daran, dass ich mir immer "Pakete" von ca. 100 Werten hol? Falls ja was muß ich an meinem Vi ändern das es richtig läuft? Mach schon den ganzen Vormittag dran rum... :-(
Für eure Hilfe schon mal Danke im vorraus!
Claus
Das Vi hab ich zum besseren Verständnis mit angehängt
Ich hab Version 7.1


Schieberegister - Oliver Listing - 29.07.2005 07:02

Hi Claus,

du willst doch deine neuen Meßwerte an die alten ranhängen, oder?
Meiner Meinung nach erzeugst du mit der Funktion Build Array ein zweidimensionales neues Array, von dem du dann die erste Spalte, also den Satz mit den 100 neuen Meßwerte herausschneidest und weiterverarbeitest.
So wie du die Funktion Build Array nutzt schreibst du die Daten auch vor die alten.
Desweiteren mußt du mit einem rechten Mausclick auf die Eingänge der Build Array aktivieren.
Das führt dazu, das die Daten wirklich nur aneinandergehängt werden und nicht etwa ein zweidimensionales gebildet wird.

Wenn du mal die Funktion aus dem Menü ToolsAdvancedShow Buffer Allocations... nutzt, wirst du feststellen, das mit jedem Schleifendurchlauf, in dem dein Array verlängert wird neuer Speicher angefordert wird.
D.h. du solltest prüfen, ob du mit einer längeren Messung nicht Speicherprobleme bekommst.
Ich denk ein sauberes wegschreiben der Daten in eine bereits geöffnete Datei ist die bessere Möglichkeit.

Gruß
Oliver


Schieberegister - claus - 29.07.2005 17:07

Oliver Frank schrieb:Hi Claus,

du willst doch deine neuen Meßwerte an die alten ranhängen, oder?
Meiner Meinung nach erzeugst du mit der Funktion Build Array ein zweidimensionales neues Array, von dem du dann die erste Spalte, also den Satz mit den 100 neuen Meßwerte herausschneidest und weiterverarbeitest.
So wie du die Funktion Build Array nutzt schreibst du die Daten auch vor die alten.
Desweiteren mußt du mit einem rechten Mausclick auf die Eingänge der Build Array aktivieren.
Das führt dazu, das die Daten wirklich nur aneinandergehängt werden und nicht etwa ein zweidimensionales gebildet wird.

Wenn du mal die Funktion aus dem Menü ToolsAdvancedShow Buffer Allocations... nutzt, wirst du feststellen, das mit jedem Schleifendurchlauf, in dem dein Array verlängert wird neuer Speicher angefordert wird.
D.h. du solltest prüfen, ob du mit einer längeren Messung nicht Speicherprobleme bekommst.
Ich denk ein sauberes wegschreiben der Daten in eine bereits geöffnete Datei ist die bessere Möglichkeit.

Gruß
Oliver

Dankeschön für die schnelle Antwort, werds am Montag gleich mal probieren.
Gruß
Claus