LabVIEWForum.de
VISA TCP/IP Kommunikation - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: VISA TCP/IP Kommunikation (/Thread-VISA-TCP-IP-Kommunikation)



VISA TCP/IP Kommunikation - Enrico01 - 26.10.2018 09:38

Hallo,

Vorweg erstmal vielen Dank im Vorraus. Ich bin neu hier und kenne daher noch nicht alle Gepflogenheiten im Forum, verzeiht mir bitte, wenn ich etwas vergesse.

Zu meinem Problem. Ich habe einen Tachometer (Monarch ACT3X), der die Drehzahl ausgibt. Diesen kann ich über Ethernet mit dem Messrechner verbinden und mit dem mitgelieferten Programm (PM-Remote) auch ansteuern.
Die Ansteuerung klappt auch über das VISA Testpanel von NI MAX problemlos. Wenn ich den Tachometer allerdings über ein Labview VI ansteuere habe ich das Problem, dass Kommandos scheinbar erst mit dem schließen der VISA-Verbindung abgeschickt werden.
Konkret ist der Befehl im Puffer, sobald der Write Baustein aktiv wurde, aber ausgeführt wird erst mit dem Schließen. Ich muss mehrere Befehle absetzen, und auch Werte auslesen und kann die Verbindung natürlich nicht ständig öffnen und schließen.

Über das NI I/O Trace Programm konnte ich bereits einige kleine Unterschiede zwischen dem Testpanel und Labview erkennen. Zum einen scheint das Testpanel zwei Open und Close befehle hinter einander auszuführen, von denen einer die Session und der andere die Verbindung öffnet/schließt. Außerdem werden viWritee/viRead statt VISAWrite/VISARead ausgeführt. In den viWrite/viRead befehlen werden im Eingang 4 Paramter übergeben, in den VISAWrite/VISARead keine.

Kennt von euch jemand dieses Problem und kann mir dabei ein bisschen unter die Arme greifen?


Beste Grüße
Enrico


RE: VISA TCP/IP Kommunikation - GerdW - 26.10.2018 09:50

Hallo Enrico,

herzlich willkommen im Forum!

Dein Problem scheint diesem hier sehr ähnlich zu sein. Kannst du dort evtl. was passendes für dich finden?


RE: VISA TCP/IP Kommunikation - Enrico01 - 26.10.2018 13:04

Hallo Gerd,
Vielen Dank für deine Antwort. Ich konnte das Problem gerade lösen. Mehr oder weniger mit Hilfe des von dir geposteten Themas.

Für Interessierte: Der Fehler befand sich scheinbar im FrontPanel im Schreibepuffer. Und zwar sah ich, nachdem ich die Anzeige des Schreibepuffers von "Normale Anzeige" auf "'\'-Code-Anzeige" umgeschalten habe, dass beim Einfügen eines CR (\r) ein doppelter Backslash eingefügt wird. Nachdem ich diesen entfernt habe hat es plötzlich funktioniert.



Möglicherweise hört ihr noch öfter von mir Wink2
Beste Grüße
Enrico


RE: VISA TCP/IP Kommunikation - GerdW - 26.10.2018 13:56

Hallo Enrico,

Zitat:sah ich, nachdem ich die Anzeige des Schreibepuffers von "Normale Anzeige" auf "'\'-Code-Anzeige" umgeschalten habe, dass beim Einfügen eines CR (\r) ein doppelter Backslash eingefügt wird. Nachdem ich diesen entfernt habe hat es plötzlich funktioniert.
Du verkehrst hier Ursache und Wirkung…
- Der Backslash ist das Excape-Zeichen für die \-Code-Anzeige. Wenn du in der normalen Ansicht ein "\" eintippst, wird es in der \-Code-Anzeige immer als "\\" angezeigt.
- Dein Gerät erwartet aber eben das Zeichen CR aka "\r" (in \-Code-Anzeige) aka 13 (ASCII-Wert) aka 0D (Wert in Hexanzeige): das musst du explizit in der \-Code-Anzeige so eingeben!


RE: VISA TCP/IP Kommunikation - jahu - 19.10.2019 12:30

Moin moin,

auch ich habe mehrere Fragen. Ich habe ein Messgerät (TPG366) über Ethernet mit meinem PC über eine Switch verbunden. Ich kann das Messgerät anpingen und habe einen virtuellen COM Port erstellt. Im MAX wird mir die Schnittstelle angezeigt. Wenn ich nun über das VISA-Testpanel versuchen das Messgerät anzusprechen, "hängt" er sich beim lesen auf, bzw. bleibt beim "Read Operation In Progress..." stehen und gibt mir nichts aus. Ich habe schon alle drei Möglichkeiten, den Befehl mit "\r\n", nur "\r" und nur "\n" zu beenden durchprobiert, doch kommt überall das gleiche Problem auf. Hat jemand eine Idee was das Problem sein könnte?

Danke schonmal für die Hilfe,
jahu

[attachment=60454] diese Fehlermeldung erhalte ich, wenn ich nur die Write Funktion im Testpanel verwende.


RE: VISA TCP/IP Kommunikation - jahu - 19.10.2019 15:30

Ich habe das oben beschriebene Problem lösen können. Das Messgerät lässt sich nun über das MAX ansprechen.

Wenn ich nun aber ein einfaches VI schreibe, indem genau das gleiche ausgemacht werden soll, bekomme ich folgende Fehlermeldung: " Fehler -1073807298 bei VISA: Schreiben , VISA: (Hex 0xBFFF003E) Operation konnte aufgrund eines I/O-Fehlers nicht ausgeführt werden. " .
[attachment=60456]

Kann mir jemand sagen, wie ich dieses Problem beheben kann?

Anbei auch mein VI.


RE: VISA TCP/IP Kommunikation - Ralfk84 - 22.10.2019 06:18

Guten Morgen Jahu,

tausche bitte einmal das "VISA: Öffnen" und das "VISA: seriellen Port konfigurieren" von der Reihenfolge aus (Also erst Konfigurieren und dann Öffnen). Ansonsten öffnest du den COM-Port mit irgendwelchen Standardeinstellungen und nicht mit den von dir konfigurierten Parametern (falls diese abweichen). Das nach dem Öffnen zu tun ändert nichts an den Parametern des schon geöffneten Ports. Daher könnte denke ich auch der Fehler kommen, wenn beispielsweise die Baud-Rate nicht passt.
Vielleicht hilft es ja, probiere es einfahc mal aus.

Viele Grüße,
Ralf


RE: VISA TCP/IP Kommunikation - GerdW - 22.10.2019 07:12

Hallo jahu,

lass das VISAOpen einfach weg, das wird vom ConfigurePort automatisch mit erledigt:
[attachment=60464]
Außerdem:
1. Bitte bei Stringkonstanten immer den Display-Style sichtbar machen, insbesondere wenn man nicht die Defaulteinstellung verwendet! (Das gilt auch für Zahlenwerte…)
2. VIs bitte nicht mit maximiertem Frontpanel und/oder Blockdiagramm speichern. Ist wirklich lästig, wenn VIs nur 1/16 des Bildschirms wirklich benötigen, aber zweimal die volle Bildschirmfläche belegen…


RE: VISA TCP/IP Kommunikation - jahu - 22.10.2019 13:41

Das Problem befand sich wohl bei der Ethernet Einstellung. Ich habe das Gerät über USB angeschlossen und noch ein wenig den Feinschliff gemacht. Jetzt funktioniert es Einwandfrei. Daher vermute ich, dass das Problem bei den Ethernet Einstellungen lag.

Trotzdem vielen Dank!