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 

Wieviele Daten kann man in einem Array 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!

15.05.2007, 08:11
Beitrag #1

Predator Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 62
Registriert seit: Mar 2007

8.50
2006
DE

29393
Deutschland
Wieviele Daten kann man in einem Array schreiben?
hallo liebes forum,
ich habe wieder mal ein problem, bzw. eine frage die sich auf ein problem bezieht. ich habe in c eine 3D autokorrelationsfunktion geschrieben und möchte jetzt die daten in LV ploten. ich übergebe über den knoten die zu überprüfenden daten und erhalte als rückgabewert jeweils ein array für x,y und z korrdinaten. so jetzt mein problem: ich habe festgestellt, wenn die anzahl der daten über ca. 25000Xuint32 je dimension überschreitet, gibt LV eine fehlermeldung bezüglich des speichers heraus. unterhalb arraysize von 25000 ist alles in ordnung. kann es sein das der speicher in lv begrenzt ist? ich verstehe das nicht ganz, da doch von der dll ein pointer übergeben - und nicht das array nach lv kopiert wird. kann mir da vielleicht jemand eine aufklärung geben.... vielen dank im voraus

gruß
dennis
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.05.2007, 08:45
Beitrag #2

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Wieviele Daten kann man in einem Array schreiben?
' schrieb:hallo liebes forum,
ich habe wieder mal ein problem, bzw. eine frage die sich auf ein problem bezieht. ich habe in c eine 3D autokorrelationsfunktion geschrieben und möchte jetzt die daten in LV ploten. ich übergebe über den knoten die zu überprüfenden daten und erhalte als rückgabewert jeweils ein array für x,y und z korrdinaten. so jetzt mein problem: ich habe festgestellt, wenn die anzahl der daten über ca. 25000Xuint32 je dimension überschreitet, gibt LV eine fehlermeldung bezüglich des speichers heraus. unterhalb arraysize von 25000 ist alles in ordnung. kann es sein das der speicher in lv begrenzt ist? ich verstehe das nicht ganz, da doch von der dll ein pointer übergeben - und nicht das array nach lv kopiert wird. kann mir da vielleicht jemand eine aufklärung geben.... vielen dank im voraus

gruß
dennis

ich hab nicht viel Ahnung von DLLs, aber wenn ich das so lese, dann sind das grad mal ca. 100kByte, die du übergeben willst, und das sollte nun überhaupt kein Problem sein ...

kannst du mal einen screenshot von der Fehlermeldung posten?

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
15.05.2007, 08:56
Beitrag #3

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

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Wieviele Daten kann man in einem Array schreiben?
Ich kann in meinem Beispiel (vgl. Anhang) keinen Fehler feststellen.
Lade doch mal Dein VI hoch.
Normal kannst Du 2^31 Werte in ein Array schreiben.

Gruß Markus


Angehängte Datei(en)
Sonstige .vi  Untitled_2.vi (Größe: 12 KB / Downloads: 198)

--------------------------------------------------------------------------
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.05.2007, 09:38 (Dieser Beitrag wurde zuletzt bearbeitet: 15.05.2007 09:39 von IchSelbst.)
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Wieviele Daten kann man in einem Array schreiben?
' schrieb:da doch von der dll ein pointer übergeben - und nicht das array nach lv kopiert wird.
Die Übergabe eines Pointers schließt nicht aus, dass der DLL-Knoten selbständig und grundsätzlich die Daten, auf die der Pointer zeigt, in den Datenfluß kopiert, der den DLL-Knoten verläßt. Ich tippe eher auf ein Kopieren.

Tritt der Fehler grundsätzlich auf, oder erst, nachdem der DLL-Knoten des öfteren aufgerufen wurde?

Kuck im Fehlerfall mal im Taskmanager nach, was da der Speicherbedarf von LV bzw. der Applikation macht.


Eins hab ich vergessen: Wird der Speicher für die Rückgabedaten von der DLL oder von LV zur Verfügung gestellt?

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
15.05.2007, 10:07
Beitrag #5

Predator Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 62
Registriert seit: Mar 2007

8.50
2006
DE

29393
Deutschland
Wieviele Daten kann man in einem Array schreiben?
ja vielen dank für die antworten...

ich habe mal die fehlermeldung und die programmteile als jpeg mit angehängt. zur erklärung des vi´s: im ersten schritt (links) wird aus den daten und der parametrierung des rasters die größe des array berechnet, um den rückgabewerten, definierten speicher zur verfügung zu stellen.

das koriose daran ist halt, dass es nur geht, wenn die rasterung groß genug ist --> ArraySize wird kleiner. sonst kommt die dargestellt fehlermeldung. wenn ich nach der fehlermeldung das programm nochmal ausführe, kommt manchmal auch die fehlermeldung das der lv speicher voll sei.

gruss
dennis


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.05.2007, 10:48
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Wieviele Daten kann man in einem Array schreiben?
Hallo, Dennis,

nur eine Vermutung, aber: könnte es sein, dass dein Fehler daher rührt, dass du nur einmal das "Array-Initialisieren" ausführst und dann sozudagen denselben Speicherbereich an drei Array-Eingänge der dll übergibst? Ich würde deine Ausgangsarrays intialisieren und dann als Ein- und Ausgang anschließen.

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
15.05.2007, 11:14
Beitrag #7

Predator Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 62
Registriert seit: Mar 2007

8.50
2006
DE

29393
Deutschland
Wieviele Daten kann man in einem Array schreiben?
hallo jens...
deine vermutung gebe sinn; du meinst, das dass initialisierte array ein und das selbe array (von der adressierung) ist für die drei ausgabe arrays...
mmh nur ich habe leider deinen vorschlag nicht ganz verstanden. meinst du ich initialisiere drei arrays, ohne brücke??? ich versuchs einfach mal... melde mich wenn ich fortschritte gemacht habe... vorerst vielen dank

gruß
dennis
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.05.2007, 11:16
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Wieviele Daten kann man in einem Array schreiben?
' schrieb:hallo jens...
deine vermutung gebe sinn; du meinst, das dass initialisierte array ein und das selbe array (von der adressierung) ist für die drei ausgabe arrays...
mmh nur ich habe leider deinen vorschlag nicht ganz verstanden. meinst du ich initialisiere drei arrays, ohne brücke??? ich versuchs einfach mal... melde mich wenn ich fortschritte gemacht habe... vorerst vielen dank

gruß
dennis
Genau, drei Arrays initialieren. Ist zumindest (denke ich) eine Versuch Wert.
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
15.05.2007, 12:34
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Wieviele Daten kann man in einem Array schreiben?
' schrieb:ich habe mal die fehlermeldung
Eigentlich müsste ich ja sagen, aus der Fehlermeldung geht eindeutig hervor, dass der Fehler in der DLL liegt und nicht in LV.

Der Fehler in der DLL kann aber ein Folgefehler sein, infolge von Parametern, die von LV falsch vorgegeben werden.

Du könntest z.B. folgendes testen. Lass am DLL-Ausgang die Array-Ausgänge, also den Datenfluß am Ausgang, einfach mal weg, und schau ob es immernoch zu eine Fehler kommt.

Das mit dem initialisierten Array halte ich für richtig. Schließlich ist jede Linie ein Datenfluß - und da sollte dann für jeden Datenfluss nach dem Aufspaltungsknoten ein eigener Speicher geschafft worden sein. Außerdem wäre das schon aufgefallen, dann nämlich wären die Ergebnissdaten falsch.

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
15.05.2007, 12:57
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Wieviele Daten kann man in einem Array schreiben?
' schrieb:Das mit dem initialisierten Array halte ich für richtig. Schließlich ist jede Linie ein Datenfluß - und da sollte dann für jeden Datenfluss nach dem Aufspaltungsknoten ein eigener Speicher geschafft worden sein. Außerdem wäre das schon aufgefallen, dann nämlich wären die Ergebnissdaten falsch.
Auja, ich glaube, du hast recht. Dann war mein Vorschlag überflüssig. Da gibt es ein LV-internen Tool, um das zu testen. Muss ich mal bei Gelegenheit ausprobieren.
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
Antwort schreiben 


Gehe zu: