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 

Array Binär speichern & laden



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!

28.07.2008, 07:55
Beitrag #1

stud_lab Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Apr 2008

8.5
-
de

76347
Deutschland
Array Binär speichern & laden
Guten Morgen,

ich möchte ein Array speichern und auch wieder laden können. Daher habe ich mit Hilfe der Funktionen "Write Binary File" und "Read Binary File" aus der LabVIEW-Hilfe mir eine solche Möglichkeit gebastelt. Das Speichern funktioniert wunderbar, allerdings taucht bei der Funktion ein Problem auf. LabVIEW sagt mir, dass die Dimensionen der zu landenden Datei und des angegebenen Dateiformats verschieden sind. Das Dateiformat ist laut LV in der Dimension 1, die angebenen Datei in Dimension 2. Verstehe das nicht, da ich die Konstante des Dateiformats aus der angebebenen Datei erstellt habe?!

Anbei die Bilder meiner Funktionen.
Version LabVIEW 8.5


Danke für eure Hilfe und Antworten!

Gruß stud


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.07.2008, 08:21
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
Array Binär speichern & laden
Lad' mal Dein VI hoch....
Ich möchte nicht alles nachbauen und auf die Schnelle sehe ich nicht, an was das liegt.

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
28.07.2008, 08:34
Beitrag #3

stud_lab Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Apr 2008

8.5
-
de

76347
Deutschland
Array Binär speichern & laden
Hallo Markus,

anbei eine Kurzversion meines VIs.


Gruß stud


LV Version 8.5



Sonstige .vi  BSP.vi (Größe: 30,53 KB / Downloads: 365)



' schrieb:Lad' mal Dein VI hoch....
Ich möchte nicht alles nachbauen und auf die Schnelle sehe ich nicht, an was das liegt.

Gruß Markus
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2008, 08:45
Beitrag #4

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

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Array Binär speichern & laden
Wenn Du das VI mit der File-Size und den "Quotient & Remainder" weglässt, dann klappt's. Allerdings kriegst Du dann den Fehler 116 beim Auslesen.
Wieso speicherst Du eigentlich die Elemente so kompliziert ab?

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
28.07.2008, 08:56
Beitrag #5

stud_lab Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Apr 2008

8.5
-
de

76347
Deutschland
Array Binär speichern & laden
Hallo Markus,

kann ich den Fehler 116 auch irgendwie abstellen?

Ich kenne mich mit den Speichermöglichkeiten nicht aus, da ich nun das erste Mal sowas mache. Ich möchte halt ein Array komplett abspeichern und auch wieder laden können. Im Array sind die Informationen komplett enthalten und nach dem Laden ist es wichtig, dass das Array genauso wieder aufgebaut werden kann. Habe hier im Forum schon nach besseren Sachen gesucht (z.B. diese Speicherung als *.xml), nur habe ich da immer Probleme bekommen, da ich ein Array speichern will. Daher habe ich nun einfach mal das Beispiel auf der LV-Hilfe genommen.
Für einen eleganteren, einfacheren Lösungsweg wäre ich natürlich dankbar!

Gruß stud

' schrieb:Wenn Du das VI mit der File-Size und den "Quotient & Remainder" weglässt, dann klappt's. Allerdings kriegst Du dann den Fehler 116 beim Auslesen.
Wieso speicherst Du eigentlich die Elemente so kompliziert ab?

Gruß Markus
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2008, 09:50 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2008 09:51 von Y-P.)
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
Array Binär speichern & laden
So klappt's...


Sonstige .vi  BSP_1_neu.vi (Größe: 28,32 KB / Downloads: 594)

Lv85_img

Gruß Markus

EDIT: Eine andere Alternative findest Du hier.

--------------------------------------------------------------------------
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
Anzeige
28.07.2008, 10:11
Beitrag #7

stud_lab Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Apr 2008

8.5
-
de

76347
Deutschland
Array Binär speichern & laden
Hi Markus,

danke für die schnelle Hilfe! Klappt so super, werde mir aber auch die anderen Möglichkeiten nun mal genauer Anschauen.
Einen schönen Tag noch!

Gruß stud


' schrieb:So klappt's...

[attachment=41052:BSP_1_neu.vi]
Lv85_img

Gruß Markus

EDIT: Eine andere Alternative findest Du hier.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2008, 13:16 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2008 13:17 von Lucki.)
Beitrag #8

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Array Binär speichern & laden
' schrieb:werde mir aber auch die anderen Möglichkeiten nun mal genauer Anschauen.
Schau Dir mal in diesem VI das Speichern und Laden das binären Daten an. Allerdings handelt es sich hier nur um ein 1D-Array mit hierarchischen Elementinhalten, du hast hingegen ein ebensolches 2D Array. Habe aber das Gefühl, daß es mit einer leichten Modifikation - ja, aber welche?? - funktionieren könnte.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2008, 16:46
Beitrag #9

Iceman810 Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Jul 2008

5.1 - 2012
1998
EN

41xxx
Deutschland
Array Binär speichern & laden
' schrieb:Wenn Du das VI mit der File-Size und den "Quotient & Remainder" weglässt, dann klappt's. Allerdings kriegst Du dann den Fehler 116 beim Auslesen. ...
Zunächst hierzu: wenn man am Eingang 'Count (1)' vom 'Read From Binary File' nichts anklemmt, liest er ja nur ein Element des Datentyps, den man am 'data type' Eingang definiert hat. Das wäre dann ja korrekt, da es sich bei beidem um 2D-Arrays eines Clusters handelt.
Der Fehler 116 entsteht dadurch, dass die Lesefunktion nicht weiss wieviele Elemente das 2D-Array enthält. Das hat natürlich nichts mit dem 'Count' - Eingang beim Lesen zu tun, sondern mit der boolschen Konstante beim Schreiben am Eingang 'prepend array or string size? (T)', die auf FALSE steht. Hierdurch wird die Größe des Arrays nicht mit in der Datei abgelegt ( würde ich auch in den allermeisten Fällen genauso tun). Die Konstante mal auf TRUE setzen und schon gehts.

' schrieb:... ich möchte ein Array speichern und auch wieder laden können. Daher habe ich mit Hilfe der Funktionen "Write Binary File" und "Read Binary File" aus der LabVIEW-Hilfe mir eine solche Möglichkeit gebastelt. Das Speichern funktioniert wunderbar, allerdings taucht bei der Funktion ein Problem auf. LabVIEW sagt mir, dass die Dimensionen der zu landenden Datei und des angegebenen Dateiformats verschieden sind. Das Dateiformat ist laut LV in der Dimension 1, die angebenen Datei in Dimension 2. Verstehe das nicht, da ich die Konstante des Dateiformats aus der angebebenen Datei erstellt habe?! ...
Das Beispiel sieht soweit ja nicht schlecht aus ^_^ Eine Lösung hat Y-P ja schon aufgezeigt (s.o.) und jetzt weisst Du auch, wie sich der Fehler 116 vermeiden lässt.

Eine andere Lösung auf Deiner Grundlage wäre Folgendes: Wenn am 'data type' Eingang beim 'Read From Binary File' - VI nicht das 2D-Array des Clusters sondern nur der Cluster selbst angeklemmt wird, wird mit jedem 'Count' ein Cluster ausgelesen. D.h., wenn keine Zahl am Count-Eingang angeklemmt ist, kommt genau der angeklemmte Datentyp auch am Ausgang raus. Hier: ein Cluster! Wenn aber eine Zahl bei 'Count' angeklemmt wird, versucht die Funktion diese Anzahl an Clustern aus der Datei zu lesen und gibt diese als 1D-Array von Clustern zurück. Dieses 1D-Array kann jetzt natürlich mit geeigneten Array-Funktionen wieder in die verlangte Form (2D) umgewandelt werden ( z.B. 'Reshape Array'Wink.
Einzige weitere Schwierigkeit: wie bekomme ich die korrekte Zahl an den Count-Eingang. Entweder man weiss genau, wieviel man hineingeschrieben hat oder man liest so lange einzelne Counts und bastelt die aneinander, bis ein Fehler aus der Funktion zurückkommt. Oder man klemmt eine mehr als genügend grosse Zahl an und bekommt alle gespeicherten Cluster als 1D-Array zurück und lebt damit, dass auf jeden Fall der Fehler 4 'End of file' aus dem 'Read From Binary File' - VI herauskommt. Durchaus nichts ungewöhnliches, da sich mit Error-Clustern ja hervorragend arbeiten lässtCool


Ich hoffe, das hat ein wenig weitergeholfen.

Frank Beckers - http://www.measx.com -

--- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, ---
--- and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. ---
(Rick Cook, The Wizardry Compiled)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.07.2008, 12:20
Beitrag #10

stud_lab Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Apr 2008

8.5
-
de

76347
Deutschland
Array Binär speichern & laden
Hallo Iceman,

antworte zwar etwas spät, habe aber vorher nicht gesehen, dass du noch was dazu geschrieben hast.
Habe nun die ganze Sache besser verstanden, danke! Werde zwar bei dem Vorschlag von Y-P bleiben, da der Weg sehr kurz und in meinen Augen auch für mich ausreicht. Das Dateiformat ist mir mehr oder wenig egal. Aber nun weis ich wengistens wie der Fehler 116 zu Stande kam und behoben werden kann.

Danke!

Gruß stud
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
  Verschiedene Datentypswerte speichern und wieder laden. Armeldonald 4 4.117 03.09.2019 13:29
Letzter Beitrag: GerdW
  VariantCluster mit OpenG Speichern&laden peterbichsel 1 4.178 13.07.2016 13:24
Letzter Beitrag: Freddy
  Daten Speichern und Laden Dany83 3 6.797 26.09.2015 21:41
Letzter Beitrag: Dany83
  Array dynamisch Speichern Klause 1 5.002 03.08.2015 14:26
Letzter Beitrag: GerdW
  Werte aus Signalverlaufsdiagramm in Datei speichern und laden montanaro 5 7.709 15.07.2015 06:56
Letzter Beitrag: montanaro
  Messdaten in einem Array sammeln/speichern Gesetzt 5 7.329 07.05.2015 15:03
Letzter Beitrag: kwakz

Gehe zu: