Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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 Fehler.
Wie speichere und lese ich den gewählten COM-Port am besten ?
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
Da habe ichs aber gut. Mein Labview ist nämlich original von NI , und da gibt es das Problem nicht. Man hat lediglich ein kleines rotes Pünktchen am Anschluss:
(rechte Maustaste/Typeinstellung natürlich auf "String" oder "automatisch" gesetzt)
(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 dingsda: 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
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
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?
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...
nicht gut ?
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
Anzeige
01.04.2011, 10:15 (Dieser Beitrag wurde zuletzt bearbeitet: 01.04.2011 10:17 von GerdW.)
- 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!
(01.04.2011 10:15 )GerdW schrieb: Aus beiden Gründen: direkte Drahtverbindung mit einem String!
Hallo Gerd,
danke verstanden. 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 nach.
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
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
01.04.2011, 13:22 (Dieser Beitrag wurde zuletzt bearbeitet: 01.04.2011 13:24 von Lucki.)
(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.
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard