LabVIEWForum.de
Abspeichern und laden von Clustern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Abspeichern und laden von Clustern (/Thread-Abspeichern-und-laden-von-Clustern)

Seiten: 1 2


Abspeichern und laden von Clustern - B033el - 16.03.2009 09:50

Huhu,

Ich hab wieder einmal ein problem. Ich habe ein Programm in dem ich meine Parameter der eistellungen in ein cluster zusammenfasse. nun möchte ich wenn ich werte geändert habe das cluster abspeichern und die möglichkeit habe dies später wieder zu laden um die Gespeicherten einstellungen nicht jedes mal per hand neu eingeben zu müssen

hoffe mir kann einer helfen

Mfg Michael


Abspeichern und laden von Clustern - Achim - 16.03.2009 10:31

Du könntest das komplette Cluster einfach mit "Write Binary File" wegschreiben, da kannst du beliebige Datenstrukturen anschließen. Der Nachteil dabei ist, du kannst das File nicht "offline" bearbeiten, d.h. nicht einfach mit dem Editor öffnen und verändern. Das wäre die schnellste und einfachste Möglichkeit!

Alternativ könntest du auch ein XML-File erzeugen, da kann man mit ein bisschen Mühe auch noch drin rumpfuschen...

Gruß
Achim

EDIT: Du könntest auch dein Cluster mit "Flatten to string" umwandeln und dann mit den ConfigFile VI's in eine Ini-Datei schreiben.


Abspeichern und laden von Clustern - B033el - 16.03.2009 10:44

in ein binärfile abspeichern geht aber .. wieder daraus lesen und ins cluster schreiben geht momentan noch nicht . kann ich evtl. nich aus einer binärdatei in ein cluster schreiben ? .

ich will quasi eine funktion mit der ich meine eistellungenabsteichern kann und wieder laden. dass man wie ein Rezept für verschiedene Problemstellungen einfach laden kann.

mfg Michael


Abspeichern und laden von Clustern - Achim - 16.03.2009 11:13

Naja du musst beim Laden den Typ des zu lesenden Clusters anschließen, damit die Informationen richtig interpretiert werden können. Das hab ich schon öfters gemacht, das sollte kein Problem sein!

Poste doch mal deine Speicher/Lade-VI...

A.


Abspeichern und laden von Clustern - B033el - 17.03.2009 09:46

guten morgen !Smile

hier mal ein VI so wie ich mir das im Prinzip vorgestellt habe. Das schreiben geht aber beim lesen stimmt was mit dem Datentyp nicht. Hoffe es kann mir einer helfen ^^ das kann ja nicht viel sein ^^.

N000BSmile

merci im vorraus


Michael

LV Version 8.6


Abspeichern und laden von Clustern - Achim - 17.03.2009 10:22

Sag mal, liest du meine Posts eigentlich?

Hast du dir die Hilfe zum Lese-VI schon mal angeguckt?Rtmfx

Du musst den Eingang "data type" natürlich versorgen, d.h. am besten eine lokale Variable (lesend) deines Clusters anschließen...


Abspeichern und laden von Clustern - B033el - 17.03.2009 11:00

sorry !Smile

aber és geht ich danke dir ! ^^


Abspeichern und laden von Clustern - htw10870 - 20.07.2009 09:22

Hallo,
ich krame dieses Thema nochmal raus weil es zu meinem Problem passt. Im Prinzip möchte ich auch Cluster abspeichern und laden. Die Cluster enthalten unterschiedlichste Typen von Elementen (String, Bool, Integer usw.). Die Werte sollen aber "offline" mit einem Editor bearbeitet werden können.
Leider bekomme ich den Typ des zu schreibenden Clusterelements nicht ermittelt. Dieser ist ja zur Benutzung von Schreib- und Lesefunktionen für Konfigurationsdateien notwendig. Hat jemand eine Idee wie aus dem Variant der Datentyp ermittelt werden kann? Ein Umwandeln nach serialisierten Daten funktioniert irgendwie nicht richtig. Im Anhang ist ein kleines Beispiel.

Grüße
Mathias

LV 8.6:
[attachment=19792]


Abspeichern und laden von Clustern - eg - 20.07.2009 12:17

Du kannst mal XML Format probieren. Da kannst du die Daten auch offline mit einem Editor bearbeiten.
http://LabVIEWportal.eu/viewtopic.php?f=51&t=145


Abspeichern und laden von Clustern - unicorn - 20.07.2009 14:47

' schrieb:Hallo,
ich krame dieses Thema nochmal raus weil es zu meinem Problem passt. Im Prinzip möchte ich auch Cluster abspeichern und laden. Die Cluster enthalten unterschiedlichste Typen von Elementen (String, Bool, Integer usw.). Die Werte sollen aber "offline" mit einem Editor bearbeitet werden können.
Leider bekomme ich den Typ des zu schreibenden Clusterelements nicht ermittelt. Dieser ist ja zur Benutzung von Schreib- und Lesefunktionen für Konfigurationsdateien notwendig. Hat jemand eine Idee wie aus dem Variant der Datentyp ermittelt werden kann? Ein Umwandeln nach serialisierten Daten funktioniert irgendwie nicht richtig. Im Anhang ist ein kleines Beispiel.

Grüße
Mathias

Einen Cluster kann man nicht direkt mit den Konfigurations-VI schreiben. Du solltest ihn besser aufteilen (unbundle) und die einzenlnen Werte mit dem Konfigurations-VIs speichern. Ist natürlich mühsam, wenn Du oftmals Cluster "mal eben" speichern möchtest.

Alternativ kannst Du mit "Variant to Flatten String.VI" Deinen Cluster analysiern. Die LabVIEW-Hilfe liefert eine ausführliche Beschreibung der Zahlen in dem "type string". Macht aber extrem viel Arbeit eine generelle Lösung zu finden, die mit allen möglichen Clustern arbeitet. Außerdem bieten die KonfigurationsVI nur zwei Ebenen zu Schachteln.

Für sehr verschachtelte Cluster bietet sich daher XML an.

Ich persönlich würde jedoch die folgende XML-Form (Cluster bis auf die Namen wie auf http://LabVIEWportal.eu/viewtopic.php?f=51&t=145)

<?xml version='1.0'>
<LVData>
<Wettermeldung>
<Temperatur Type="SGL">32</Temperatur>
<zuWarm Type="Boolean">True</zuWarm>
<Kommentar Type="String">Wo ist der Pool?</Kommentar>
</Wettermeldung>
</LVData>

der Original-LabVIEW Version der XML-Struktur:

<?xml version='1.0' standalone='yes' ?>
<LVData xmlns="http://www.ni.com/LVData">
<Version>8.6.1f1</Version>
<Cluster>
<Name>Wettermeldung</Name>
<NumElts>3</NumElts>
<DBL>
<Name>Temperatur</Name>
<Val>32.00000000000000</Val>
</DBL>
<Boolean>
<Name>zu warm</Name>
<Val>1</Val>
</Boolean>
<String>
<Name>Kommentar</Name>
<Val>Wo ist der Pool?</Val>
</String>
</Cluster>

</LVData>

vorziehen. Ich finde die LV-Version ist deutlich unübersichtlicher, wenn man als Mensch versucht die Datei zu verstehen und vielleicht manuell editieren möchte.

Schöne Grüße