LabVIEWForum.de
Wie kann man seinem Programm ohne viele "Kabel" verschiede Konfigurationen ( in vielen Sub-Vis) sinnvoll übergeben ? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Wie kann man seinem Programm ohne viele "Kabel" verschiede Konfigurationen ( in vielen Sub-Vis) sinnvoll übergeben ? (/Thread-Wie-kann-man-seinem-Programm-ohne-viele-Kabel-verschiede-Konfigurationen-in-vielen-Sub-Vis-sinnvoll-uebergeben)



Wie kann man seinem Programm ohne viele "Kabel" verschiede Konfigurationen ( in vielen Sub-Vis) sinnvoll übergeben ? - gnu.the.iii - 15.08.2010 18:54

Hi,

ab und zu hab ich bei größeren Projekten immer wieder das gleiche Problem:

Ich arbeite ( bin sonst mehr bei C ) sehr stark mit Sub-Vi modular.


Ein Programm arbeitet 99% gleich - je nach Hardware / Messplatz sind ein paar Parameter (Zahlen, Werte etc.) zu ändern.

Wie kann ich das irgendwie "ankabeln", dass ca. 50 Parameter automatisch aktualisiert werden ( z.B. einmal beim Programmstart) ( in verschiedenen SubVis)


Eine Möglichkeit gerade die ich nutzte sind FGV, die mit First-Run beim Start des Programms ausgelesen wird, durch die beschränkte Ausgangsanzahl aber recht unflexibel...

Das Bundel by name ist recht "platzverschendend"

--> also bleibt die Frage:


Wie macht Ihr das ?


Gruß

Gnu


Wie kann man seinem Programm ohne viele "Kabel" verschiede Konfigurationen ( in vielen Sub-Vis) sinnvoll übergeben ? - schrotti - 15.08.2010 19:58

Ich schreib die Parameter in eine Datei, entweder XML oder INI. Lesen und Schreiben der Datei erledigt eine FGV, von welcher sich die betroffene VIs die Werte abholen können. Bei mir sieht das dann ungefähr so aus:

[attachment=28757]


Wie kann man seinem Programm ohne viele "Kabel" verschiede Konfigurationen ( in vielen Sub-Vis) sinnvoll übergeben ? - Matze - 15.08.2010 22:12

' schrieb:Das Bundel by name ist recht "platzverschendend"
Nur als Ergänzung: Wenn du deine Variablen mit einem Namen versehen hast, kannst du "Bundle" verwenden. Das ist deutlich kompakter als "Bundle by Name".
Beim Auslesen der Werte aus diesem Cluster kann "Unbundle by Name" verwendet werden. Die Variablennamen sind dort enthalten (sofern du bei den variablen selbst Namen vergeben hast: Rechtsklick auf die Variable -> Visible Items -> Label und dort etwas eintippen).

[attachment=28758]


Wie kann man seinem Programm ohne viele "Kabel" verschiede Konfigurationen ( in vielen Sub-Vis) sinnvoll übergeben ? - eg - 15.08.2010 23:07

50 Parameter zu einem/mehreren Cluster zusammenfassen und direkt mit einem/mehreren "Kabeln" initialisieren.


Wie kann man seinem Programm ohne viele "Kabel" verschiede Konfigurationen ( in vielen Sub-Vis) sinnvoll übergeben ? - cb - 16.08.2010 07:03

' schrieb:--> also bleibt die Frage:
Wie macht Ihr das ?

ich nehm globale Variablen, eine für allgemeine-Einstellungen und eine für die User-spezifischen Einstellungen:

[attachment=28759]

dabei passiert das Einlesen der Daten aus einer Ini-Datei beim Programm-Start automatisch:
ich übergebe eine Referenz auf die Globale Variable, die wird "abgeklappert" und die Captions der Controls sind die Schlüssel in der INI-Datei. Wenn der Schlüssel nicht gefunden wird, wird automatisch der in der GV festgelegte Standard-Wert verwendet.

Schreiben beim Programm-Ende funktioniert analog zum Lesen.

Das schöne daran ist: ich muss mich um das Lesen/Schreiben und den Aufbau der INI-Datei eigentlich gar nicht mehr kümmern. wenn ich einen neuen Parameter brauche, der in der INI-Datei gespeichert werden soll, dann füge ich in der GV einfach ein Control hinzu, lege einen Standard-Wert und die Caption fest, und feddich ist die Laube.

Probleme damit gibt es eig. nur, wenn man vergisst eine Caption festzulegen.

Und bevor jetz jemand meckert wegen den globalen Variablen: genau dafür sind sie IMHO da: Daten global im ganzen Programm zur Verfügung stellen, und darum benutz ich sie auch dafürSmile


Wie kann man seinem Programm ohne viele "Kabel" verschiede Konfigurationen ( in vielen Sub-Vis) sinnvoll übergeben ? - RLT-Solingen - 01.09.2010 09:13

Ich habe eueren Beitrag gelesen und gesehen,

genau das brauch ich glaub ich.

Ich möchte beim Beenden meines Programms .
Einstellungen und Texte an verschiedenen Stellen speichern und beim Starten des Programms genau da wieder weiter machen.

Geht das hier beschreibene auch mit Text?
Des weiteren möchte ich Messdaten auch speichern können (Grafik) und wieder laden können. Aber das ist ein weiteres Thema.
Daran mache ich mich im nächsten Step


Vielen Dank im Voraus euch allen