LabVIEWForum.de
VISA I/O gewählten Comport in ini merken - 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: VISA I/O gewählten Comport in ini merken (/Thread-VISA-I-O-gewaehlten-Comport-in-ini-merken)

Seiten: 1 2


VISA I/O gewählten Comport in ini merken - wernerIBN - 31.03.2011 16:54

Hallo,
ich habe folgendes Problem mit dem Element "VISA-Ressourcenname" , das bei mir "Setup Comport" heisst.

Dieses Element hat auf dem Frontpanel ein Auswahlelement, in welchen superschön alle verfügbaren VISA-Ports, z.B.: COM1, COM2 oder COM3 aufgeführt sind. Ich möchte nun in meiner *.ini datei die gewählte Schnittstelle beim Programmstart automatisch wieder einstellen. Dazu nehme ich die Konfigurationsdatei-VIs.

Die kommen aber leider nicht mit dem Datentyp VISA-Ressourcenname klar. Wenn ich beispielsweise von meinem "Setup Comport" eine lokale Variable mache, und die an den Eingang des SchlüsselSchreiben-VIs verkabele gibts einen FehlerAhrg1.

Wie speichere und lese ich den gewählten COM-Port am besten ?


RE: VISA I/O gewählten Comport in ini merken - jg - 31.03.2011 17:10

Ich liebe "Format into String":
[attachment=33036]
Gruß, Jens


RE: VISA I/O gewählten Comport in ini merken - Lucki - 31.03.2011 18:35

Da habe ichs aber gut. Mein Labview ist nämlich original von NI 2hands, und da gibt es das Problem nicht. Man hat lediglich ein kleines rotes Pünktchen am Anschluss:
[attachment=33037]
(rechte Maustaste/Typeinstellung natürlich auf "String" oder "automatisch" gesetzt)


RE: VISA I/O gewählten Comport in ini merken - wernerIBN - 01.04.2011 08:00

(31.03.2011 18:35 )Lucki schrieb:  (rechte Maustaste/Typeinstellung natürlich auf "String" oder "automatisch" gesetzt)

AAlso, nütüührlich habe ich wie immer kopiert, und Typeinstellung war natürlich auf "double" und natüührlich habe ich mich gar nicht mehr dran erinnert dass ich daran rumgefummelt hatte....

Danke. Läuft jetzt.

Noch ne Frage an den Profi mit 5 dingsdaAngel_not: wie machst du die andere Seite, COM-Port aus ini lesen, setzt du den VISA-Ressourcenname dann per lokale Variable, so in einer Sequenz, erst ini lesen, dann VISA-Ressourcenname auf ini-Wert setzen, dann die serielle Öffnen und damit arbeiten ?

(So würd ichs nämlich machen) oder gehts eleganter und einfacher.

Werner


RE: VISA I/O gewählten Comport in ini merken - GerdW - 01.04.2011 08:11

Hallo Werner,

einfach den String per Draht vom ReadKey an das InitSerialPort anschließen... VISA-Adressen sind quasi Strings und können auch per String gesetzt werden!

Wozu ständig dieses Rumgeeiere mit lokalen Variablen?


RE: VISA I/O gewählten Comport in ini merken - wernerIBN - 01.04.2011 10:11

(01.04.2011 08:11 )GerdW schrieb:  Hallo Werner,

einfach den String per Draht vom ReadKey an das InitSerialPort anschließen... VISA-Adressen sind quasi Strings und können auch per String gesetzt werden!

Wozu ständig dieses Rumgeeiere mit lokalen Variablen?

Hallo Gerd,
an meinem InitSerialPort habe ich mit erstellen/Bedienelement ein Control fürs Frontpanel erzeugt, welches mir sehr schön die zur Verfügung stehenden COM-Ports als Option anbietet. Daher wollte ich das schöne Control eigentlich lassen, und setze es per lokaler Variable...Ansage

nicht gut ?


RE: VISA I/O gewählten Comport in ini merken - GerdW - 01.04.2011 10:15

Hallo Werner,

- in deinem Snippet in beitrag#1 hat der Benutzer nie eine Chance, etwas einzugeben: sobald das VI aufgerufen wird, wird die aktuelle Einstellung für's SerialInit verwendet. Auf dieses Snippet bezog sich mein Ratschlag, mehr Info hast du uns ja nicht gegönnt...

- Ich persönlich trenne UI/Setup und eigentliche HW-Routinen - der Benutzer soll nicht mit irgendwelchen VIs hantieren, die dann direkt auf HW zugreifen. Der Benutzer bekommt einen Setup-Dialog präsentiert, wo er u.a. den COM-Port einstellen darf. Wie du diese Einstellung programmintern speicherst, bleibt dann dir überlassen...

Aus beiden Gründen: direkte Drahtverbindung mit einem String!


RE: VISA I/O gewählten Comport in ini merken - wernerIBN - 01.04.2011 10:47

(01.04.2011 10:15 )GerdW schrieb:  Aus beiden Gründen: direkte Drahtverbindung mit einem String!

Hallo Gerd,
danke verstandenCool. Ja du hast recht, wenn der Benutzer den COM-Port umstellt, muss er das Programm von mir neustarten. Das ist so. Bisher habe ich das nicht als schlecht angesehen, aber nach deinem Beitrag denke ich darüber noch mal nachConstruction.

Ich habe ein Tab-Control, mit einer Setup-Seite wo ich die Schnittstellen und anderes einstelle, das wird einmal gemacht, und dann stehen die richtigen Werte im ini - dann muss man neustarten. Zukünftige Starts gehen dann einfach mit den ini-Werten los, die stimmen dann.

Werner


RE: VISA I/O gewählten Comport in ini merken - Lucki - 01.04.2011 13:22

(01.04.2011 08:00 )wernerIBN schrieb:  wie machst du die andere Seite, COM-Port aus ini lesen, setzt du den VISA-Ressourcenname dann per lokale Variable, so in einer Sequenz, erst ini lesen, dann VISA-Ressourcenname auf ini-Wert setzen, dann die serielle Öffnen und damit arbeiten ?

Ja genau so. Und ich habe "in INI Lesen und schreiben" in einem VI, ich poste es hier mal.
Bessere wäre es aber gewesen, statt je eines Cluster-Ein- und -Ausganges nur einen Referenanschluß für den Cluster zu verwenden. Damit entfallen auch lokale Veriablen im Haupt-VI.
Und noch besser: (so will ich es in Zukunft immer machen) Statt schweißtreibender Programmierarbeit für das Speichern und Lesen in eine INI-Datei nur noch die hervorragenden OpenG-Funktionen im Ordner "OpenG Variant Configuration Files" (Installation vorausgesetzt) zu verwenden.
[attachment=33046]


RE: VISA I/O gewählten Comport in ini merken - wernerIBN - 01.04.2011 14:36

(01.04.2011 13:22 )Lucki schrieb:  Ja genau so. Und ich habe "in INI Lesen und schreiben" in einem VI, ich poste es hier mal.

Danke. Sehr interessanter Ansatz2hands.

(01.04.2011 13:22 )Lucki schrieb:  ... OpenG-Funktionen im Ordner "OpenG Variant Configuration Files"

Wo finde ich das ?

Werner