LabVIEWForum.de - Aufbau Frontpanel mit sehr vielen Tabs, speichern aller Parameter in XML

LabVIEWForum.de

Normale Version: Aufbau Frontpanel mit sehr vielen Tabs, speichern aller Parameter in XML
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hier nochmal ein Denk-Anstoß:

mit dem Code speichere ich die User-Einstellungen, die ich überall im Programm immer mal wieder brauche, darum verwende ich dafür eine Globale Variable. In der Globalen Variablen sind mehrere Controls, die ich in dem VI "abklappere" und lese bzw. schreibe:

Übersicht mit "Write" Case
[attachment=32363]

Read Case
[attachment=32364]

Default-Wert aus der Global verwenden, wenn der Eintrag in der INI-Datei nicht gefunden wurde:
[attachment=32365]

Das VI verwende ich immer wieder, die Referenz auf die Globale Variable wird per "static VI Reference" übergeben
Warum benutzt du Caption.Text und nicht Label.Text?

Sieht mir nach 'nem Bug aus... oder schreibst du die Daten sprachabhängig?
it's no bug, it's a feature ...

die caption benutze ich quasi aus "aesthetischen" Gründen. Im Label benutze ich Namen, die im Block-Diagramm "gut" aussehen, und als Caption benutze ich Namen die in der Ini-Datei gut aussehen ...

Beispiel:
Label: usr_bdd
Caption: UserBulkDataDirectory

dann sieht der Schlüssel in der INI-Datei, der die Daten für die GV "usr_bpath" enthält z.B. so aus: UserBulkDataDirectory=/D/messdaten/foo/bar ...

... reine Geschmackssache ... Wink ich steh halt auf so "selbst-sprechende" Namen in der ini-Datei, hauptsächlich desshalb, weil sich das am Telefon einfach leichter erklären läßt (anstatt ein kryptisches Label zu buchstabieren) wenn die Kundschaft anruft, und irgendwas geändert haben will ...

Wenn ich den Namen, den ich als Caption verwende auch als Label verwenden würde, dann hab ich so elends lange GV's im Blockdiagramm und das sieht nich aus Big Grin ...
cb, das sieht mir ja nach einem universell einsetzbaren "Speicher alles und Stell alles wieder her"-VI aus. Wäre ich nicht drauf gekommen. Bestechend einfach. Dann einfach für den Test die Parameter vom File lesen...

Nur habe ich jetzt halt Subpanels. Ich müsste damit also alle Subpanels durchgehen und am Ende dann noch in ein File zusammenfügen. Wieder eine Hürde...
OK, habe das jetzt geschafft. Geht jetzt alles über die FGV und funktioniert soweit gut. Ich kann alle Controls in die FGV schreiben (von der FGV aus gesteuert) und auch Daten aus der FGV in die Controls schreiben. Das geht soweit. Vielen Dank für eure Hilfe.

Jetzt möchte ich die Daten noch speichern und habe dazu mal das easyXML toolkit von JKI ausprobiert. Grundsätzlich funktioniert das gut und sehr einfach aber wie speichere ich die VISA Ressourcen ab? Das sind soweit ich gelesen habe dynamisch zugewiesene Nummern. easyXML weigert sich Refnum zu schreiben aber bringen würde mir das auch nichts, da ich die VISA Ressource wohl nicht einfach so abspeichern kann. Wie macht man das?

Es sind zu speichern: 4 COM-Ports, ein USB, ein GBIB
(19.02.2011 22:58 )mikeee schrieb: [ -> ]Das sind soweit ich gelesen habe dynamisch zugewiesene Nummern. easyXML weigert sich Refnum zu schreiben
Klar.
RefNums sind Referenzen, die zu jeder Laufzeit neu erzeugt werden. Referenzen haben zwar innerhalb eines Programmaufrufes (Applikation) den selben Wert. Von einem Programmaufruf zum nächsten kann sich der Wert der Referenz aber ändern. Das Speichern einer Referenz ist also sinnlos.

Zitat:Wie macht man das?
Einfach den Namen eines Kanals speichern: "COM3" etc. Und natürlich die variablen Parameterwerte, wie z.B. Baudrate etc, die zum Kanal gehören.
Ja, COM3 zum Beispiel klingt logisch. Aber was wenn ich ein USB I/O dran habe? Das ist ja dann nicht an einem bestimmten Port, sondern einfach verbunden. Aber davon könnten mehrere am System sein. Dann muss ich abspeichern können welches für welchen Zweck ist. Wie sind die den benannt?

Also ich dachte das geht so:
Man hat die ganzen Schnittstellen und Geräte am System, konfiguriert alle per Messurement and Automation und dann kann man die über einen Frontpanelcontrol (VISA Ressource) auswählen. Aus diesem Control kommt aber nicht der Name der Schnittstelle, sondern der VISA Ressource name. Dieser sollte ja eigentlich nicht ändern ohne dass ich in Messurement and Automation etwas ändere oder?

Das Problem ist eben, dass ich die Hardware gar nicht zur Verfügung habe. Ich mache den Configeditor für ein Projekt, für das die Hardware noch nicht vorhanden ist. Sonst könnte ich auch mal ausprobieren...
Seiten: 1 2 3
Referenz-URLs