LabVIEWForum.de - Default für GPIB-Adressen setzen

LabVIEWForum.de

Normale Version: Default für GPIB-Adressen setzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich muss mehrere LabVIEW-Programme überarbeiten, da diese an weiteren Messständen zum Einsatz kommen. Leider sind meine Programmierkenntnisse recht begrenzt. Das Problem ist folgendes:

Die angesteuerten Messgeräte sind zwar grundsätzlich identisch, die GPIB-Adressen an den Messplätzen aber z.T. unterschiedlich. Zur Zeit sind die Nummern der GPIB-Adressen in den Blockdiagrammen als Konstanten angegeben, in der neuen Version sollten sie aber leicht abzuändern sein um die Programme auf den unterschiedlichen Messplätzen einrichten zu können. Das Programm wird mit dem Application Builder in eine Exe-Datei umgewandelt.

Ich bin mir nicht ganz sicher wie ich am besten vorgehen soll. Folgendes hatte ich mir überlegt: auf dem Frontpanel des Haupt-VI's erstelle ich "Numeric controls" für jedes Gerät zur Eingabe der GPIB-Adressen. Um den knappen Platz nicht zu belegen verstecke ich sie danach. Die Nummern der GPIB-Geräte werden mit "Open Config Data" aus einer Textdatei gelesen. Überall wo ich dann im Blockdiagramm eine GPIB-Adresse brauche erzeuge ich mir dann eine lokale Variable der entsprechenden Adresse.

Ist das eine sinnvolle Vorgehensweise oder würde man das normalerweise anders lösen? Insbesondere würde mich eine Lösung interessieren wo man zur Eingabe der GPIB-Adressen dann nicht manuell eine Textdatei editieren müsste, sondern dies bequem über das Frontpanel durchführen könnte.

Vielen Dank für eure Hilfe,
Andreas
Evast schrieb:....Die Nummern der GPIB-Geräte werden mit "Open Config Data" aus einer Textdatei gelesen...
Genauso würd ich's auch machen

Evast schrieb:...Überall wo ich dann im Blockdiagramm eine GPIB-Adresse brauche erzeuge ich mir dann eine lokale Variable der entsprechenden Adresse...
Das ist, denke ich, eine der Situationen, wo globale Variable sinnvoll eingesetzt werden können: Die GPIB Adressen werden, nach dem Lesen aus der Textdatei, in die globals geschrieben. Da im gesamtprogramm die globals nur an EINER Stelle beschrieben werden, können die gefürchteten race-conditions (unsynchronisiertes Schreiben/Lesen von globals) nicht auftreten. Dort wo die Adressen gebraucht werden, werden die globals gelesen. Du brauchst keine (versteckten) Elemente im Haupt-VI, da die Adressen ja nur in den globals stehen.

Übrigens: Du kannst beliebig viele globale Variablen in einer global-Datei (ich nehme als Endung immer .glb statt. vi) definieren. Also z.B.: Datei 'GPIB-Adressen.glb' enthält die Integers Geraet_1, Geraet_2, etc...

Um dem Nutzer das Editieren einer textdatei zu ersparen, müsstest Du eine Dialog-VI schreiben, die das Abfragen (und Speichern in der .ini Datei) der Adressen übernimmt.
Vielen Dank für das Feedback. Ich habe jetzt auch die Beispiele zur Verwendung von globalen Variablen in der LabVIEW-Hilfe gefunden. Das scheint mir auch viel praktischer zu sein als lokale Variablen zu verwenden.

Viele Grüße,
Andreas
Referenz-URLs