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 

Speicherorganisation bei Labview



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!

29.08.2010, 12:11
Beitrag #1

Pete26 Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Aug 2010

8.2
2005
de


Oesterreich
Speicherorganisation bei Labview
Hi ...

Ich bin gerade dabei eine Audio Mehrkanalsystem zu entwicklen d.h Mehrkanaldatenaufzeichnung und nachfolgende Signalverarbeitung.

Die Grundstruktur dich ich verwende ist eine Producer / Consumer Struktur ... meine Frage bezieht sich jetzt grundsätzlich auf die Speicherproblematik in solchen Strukturen da meine Anwendung echtzeitfähig sein soll.

Also Allgemein kann man ja sagen bekommt Labview vom Betriebsystem einen virtuellen Speicher zugeteilt ... ist dieser voll beginnt Labview auszulagern und endet daher meist in einem Absturz. O

Betrachtet man nun nur mal einzeln die Producerschleife d.h wo sich auch die DAQ befindet so wird ein Block an Daten in eine Queue geschrieben während dessen läuft jedoch die Datenaufnahme weiter d.h die Daten werden in einen Buffer der DAQ geschrieben.
Wenn die Daten jedoch jetzt z.b nicht vom Consumer abgeholt werden ... wird die Queue voll geschrieben ... was passiert mit dem Buffer der DAQ ... ? Bzw. wird der Buffer nicht so und so immer mehr vollgeschrieben ... ?

Gibts bzgl. dessen vl Literaturtips ? Ich bin in für jeden Ratschlag dankbar Wink

Dankeschön

lg Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
31.08.2010, 20:28
Beitrag #2

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

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Speicherorganisation bei Labview
Ich kenne mich da leider auch nicht aus, aber wenn es echtzeitfähig werden soll, wie wäre es dann mit "LabVIEW Realtime"? Unsure

Gruß Markus

' schrieb:... meine Frage bezieht sich jetzt grundsätzlich auf die Speicherproblematik in solchen Strukturen da meine Anwendung echtzeitfähig sein soll.

--------------------------------------------------------------------------
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
01.09.2010, 09:08
Beitrag #3

Pete26 Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Aug 2010

8.2
2005
de


Oesterreich
Speicherorganisation bei Labview
Hi Markus,

Jap wäre natürlich fein ;-) ... aber ich muss/soll das ganze in Labview 2010 realisieren ...

Danke

lg Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.09.2010, 13:14
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Speicherorganisation bei Labview
' schrieb:Also Allgemein kann man ja sagen bekommt Labview vom Betriebsystem einen virtuellen Speicher zugeteilt ... ist dieser voll beginnt Labview auszulagern und endet daher meist in einem Absturz.
Bist du sicher, dass LV auslagert und nicht das Betriebssystem?

LV hat nur einen einzigen linearen Speicherbereich. Den organisiert LV selbstverständlich selbst. Abstürze entstehen weniger wegen Anwenderfehlern, vielmehr glaube ich in deinem Falle an einen mangelhaften Speichermanager in LV.

Zitat:Betrachtet man nun nur mal einzeln die Producerschleife d.h wo sich auch die DAQ befindet so wird ein Block an Daten in eine Queue geschrieben während dessen läuft jedoch die Datenaufnahme weiter d.h die Daten werden in einen Buffer der DAQ geschrieben.
Ja.

Zitat:Wenn die Daten jedoch jetzt z.b nicht vom Consumer abgeholt werden ... wird die Queue voll geschrieben ... was passiert mit dem Buffer der DAQ ... ? Bzw. wird der Buffer nicht so und so immer mehr vollgeschrieben ... ?
Der Puffer im DAQ kann schon voll werden. Das kann aber - normalerweise - nicht zu einem Absturz, vielmehr nur zu Datenverlust führen. Das selbe gilt selbstverständlich auch für den Puffer der Queue - voll ja, abstürzen deswegen nicht.


Was du natürlich so wie so machen musst, ist eine Daumenpeilung, ob dir alle Puffer groß genug sind. Ich würde alle Puffer, also auch die der Queue, auf ein Maximum setzen. Wird das überschritten, müssen Daten überschrieben, also verloren gehen. Um letzterem vorzubeugen, muss man natürlich das Programm so schreiben, dass die Datenverarbeitung (also das Lesen aus den Puffern) schneller geht als das Daten-Zur-Verfügung stellen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: