LabVIEWForum.de
default value in globalen Variablen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: default value in globalen Variablen (/Thread-default-value-in-globalen-Variablen)



default value in globalen Variablen - achim @ FZK - 03.04.2009 10:19

Hallo,

wenn man eine große globale Variable erstellt, so ist es ja recht lästig ständig rechte Taste, Datenoperationen, Aktuellen Wert als Stadard...
Ausserdem ist die Gefahr, dass man das dann doch mal vergisst nicht zu verachten...

Kann man das irgendwie einfacher machen? So á la setzte alles als Stadard?

Noch eine Frage:
Wie macht man sowas persistent? Kann man den kompletten Inhalt einer globVar irgendwie in einem Config-File abspeichern, so dass man auch verschiedene Datensätze haben kann?

Wiedereinmal vielen Dank für die Hilfe!

Gruß Achim


default value in globalen Variablen - franzl - 03.04.2009 12:54

Hallo Achim,

allgemein kannst Du die Werte Deiner Anzeige- und Eingabelemente über "Aktuelle Werte als Standard" als Standard definieren, ohne jedes einzelne auszuwählen. Hierzu in der Task-Leiste auf "Bearbeiten" und dann "Aktuelle Werte als Standard" klicken, abspeichern und fertig.
Die Daten sind nun in der globalen Variable hinterlegt und können jederzeit aufgerufen werden. Ein abspeichern in eine Datei ist nicht notwendig.
Alternativ zur globalen Variable kannst Du auch versuchen ein Cluster-Element mit Strikter-Typendefinition zu verwenden. Hierbei kannst Du auch die Werte als Standard definieren und im Blockdiagramm erfolgt bei einer Änderung eine automatische Aktualisierung. Braucht weniger Speicher wenn es schnell gehen muss.


default value in globalen Variablen - achim @ FZK - 03.04.2009 13:32

' schrieb:"Bearbeiten" und dann "Aktuelle Werte als Standard" klicken, abspeichern und fertig.
Super Funktion und die entdecke ich jetzt erst, Sad

' schrieb:Die Daten sind nun in der globalen Variable hinterlegt und können jederzeit aufgerufen werden. Ein abspeichern in eine Datei ist nicht notwendig.
Alternativ zur globalen Variable kannst Du auch versuchen ein Cluster-Element mit Strikter-Typendefinition zu verwenden. Hierbei kannst Du auch die Werte als Standard definieren und im Blockdiagramm erfolgt bei einer Änderung eine automatische Aktualisierung. Braucht weniger Speicher wenn es schnell gehen muss.

Ich glaub wir reden aneinander vorbei:
Angenommen in meiner globalen Datei ändern sich während der Laufzeit Werte (zB Sensorkofigurationen). Wenn die Laufzeit beendet ist, ich LabVIEW beende und wieder Neustarte sind diese Informationen weg.
Und genau das will ich irgendwie verhindern. Entweder setzte ich beim Beenden der Laufzeit als letzte Aktion im Programm alle drezeitigen Werte als default (keine Ahnung ob das überhaupt geht), oder ich muss mir die Wertein eine Datei wegschreiben und beim Programmstart wieder neu laden.

Fragen: Geht erstgenanntes? & Geht das Wegschreiben von einer kompletten globVar mit etlichen Clustern irgendwie in einem rutsch oder muss man hier Cluster für Cluster auslesen, sammeln und speichern (und das gleiche dann wieder beim einlesen der Datei)?

Gruß Achim


default value in globalen Variablen - A.Berndsen - 03.04.2009 14:14

Schau mal hier!
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=54718

Grüße
Andreas


default value in globalen Variablen - franzl - 03.04.2009 14:21

Man kann mit einem Eigenschaftsknoten die Werte der Frontpanelelemente als Standard speichern. Allerdings ist das nur im Bearbeitungsmodus des VIs möglich (Eigenschaftsknoten mit Fensterbereich verknüpfen und Eigenschaft "Standardwerte" auswählen. Funktioniert allerdings nicht während der Laufzeit.

Ich hatte das Problem mit Speichern und Wiederherstellen von Konfigurationen auch schon einmal gehabt. Die Lösung war die Werte bei Beenden des Programms in ein txt.-File zu schreiben (Verwendung einer Pfadkonstante,z.B. C:File.txt) und dieses beim Öffnen abzufragen. Ist abhängig von der Menge an Daten mit etwas Programmieraufwand verbunden.