LabVIEWForum.de
VISA sendet nur mit Highlight?! - 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 sendet nur mit Highlight?! (/Thread-VISA-sendet-nur-mit-Highlight)

Seiten: 1 2


VISA sendet nur mit Highlight?! - samuel - 14.01.2014 15:48

Hallo,

ich habe gerade ein Problem das ich nicht verstehe. Ich sende einen Befehl an einen Kistler Ladungsverstärker Type 5015. Der ist mittels eines RS232 to USB Adapter am PC eingesteckt.

Ich sende den Befehl zum starten der Messung an den Verstärker. Ist der Befehl angekommen leuchtet eine LED am Verstärker.

Das Problem ist das diese LED nur angeht wenn ich den Programmcode mittels Highlight Funktion ausführe. Ich habe wirklich keine Ahnung.... Unter habe ich den betreffenden Programmcode mal isoliert als Screenshot angehängt.

Vielen Dank für eure Hilfe


Gruß Samuel


RE: VISA sendet nur mit Highlight?! - GerdW - 14.01.2014 15:52

Hallo Samuel,

wenn du feststellst, dass zwischen VISAOpen und VISAWrite eine kleine Wartezeit liegen muss, solltest du diese auch programmieren! Pack doch einfach mal eine Wartezeit von ca. 250ms zwischen diese beiden Befehle...

- Wenn du verschiedene COM-Ports hier öffnest, solltest du auch beide Referenzen aus der FOR-Loop heraus geben und nicht nur die zweite...
- Erstell dir doch eine Arraykonstante mit den VISA-Referenzen vor der Loop und lasse Autoindexing die Arbeit übernehmen (statt "i" abzufragen und eine Case-Struktur zu nutzen)...
- An VISASerialPortInit brauchst du nur die Konstanten anschließen, die nicht dem Standardfall entsprechen...
- AutoCleanUp nutzen...


RE: VISA sendet nur mit Highlight?! - Lucki - 14.01.2014 17:14

Die Funktion VisaWrite wartet nicht auf das Senden, sondern überträgt lediglich den Sendestring in den Sendepuffer, was 0,nix dauert. Ich vermute, dass es funktioniert, wenn Du nach visaWrite eine Wartezeit einschiebst. Ganz tödlich wäre es jedenfalls, wenn Du in den 2 Durchläufen der For-Schlefe jedesmal COM5 konfigurierst. Den Verdacht habe ich, dass es so ist. Wozu diese Konfiguration von 2 Schnittstellen überhaupt? Deine Beschreibung sagt dazu nichts. Ohne diese Schleife müsste es meines Erachtesn auch ohne Warten funktionieren. Also zuerst einfach mal N=1 setzen und probieren.


RE: VISA sendet nur mit Highlight?! - samuel - 15.01.2014 09:26

Hallo,

also ich habe jetzt eine Wartezeit von 50ms zwischen VISA öffnen und VISA schreiben eingebaut. Lucki seine Erklärung mit der Wartezeit nach VISA schreiben kommt mir zwar sinnvoller vor, aber so funktioniert es halt^^.

Entgegen deiner Annahme sind sehr wohl zwei COM Ports in der Case-Struktur. Ich hab die zweite nur für Testzwecke deaktiviert.

Sollte es wieder erwarten zukünftig zu Problemen kommen melde ich mich wieder.

Ich danke euch beiden.

Gruß


RE: VISA sendet nur mit Highlight?! - samuel - 15.01.2014 10:27

Aber irgendwie funktioniert es nur manchmal. Die Wartezeit nach VISAwrite hat auch keinen Erfolg gebracht.


RE: VISA sendet nur mit Highlight?! - GerdW - 15.01.2014 10:35

Hallo Samuel,

wenn es mit Highlighting immer funktioniert, solltest du entsprechend große Wartezeiten überall einfügen Big Grin


RE: VISA sendet nur mit Highlight?! - samuel - 15.01.2014 10:38

Das komische ist, dass der Programmteil eigenständig mit der Wartezeit von 250 ms vor VISA wirte wunderbar und auch immer funktioniert. Nur wenn ich ihn in meinem Messprogramm integriert habe kommt es zu diesen Problemen.

Deswegen denke ich, dass die Wartezeit so reichen sollte und ein anderen Problem in Verbindung mit meinem Messprogramm vorliegt.


RE: VISA sendet nur mit Highlight?! - Y-P - 15.01.2014 10:39

Mach' doch mal überall 3 Sekunden, dann 2,5 Sekunden , dann 2 Skunden,.... und nähere Dich solange an, bis es nicht mehr funktioniert. Dann weißt Du auch, wie lange Du warten musst.

Gruß Markus


RE: VISA sendet nur mit Highlight?! - Lucki - 15.01.2014 10:44

(15.01.2014 09:26 )samuel schrieb:  Lucki seine Erklärung mit der Wartezeit nach VISA schreiben kommt mir zwar sinnvoller vor, aber so funktioniert es halt^^.
Dazu fällt mir nur ein, was der Philosoph Hegel entgegnete, als ihm vorgeworfen wurde, dass seine Philosophie nicht zur Wirklichkeit passt: "Um so schlimmer für die Wirklichkeit!" Big Grin

Aber was ist denn, wenn Du die Schleife wegläßt und Dich erst mal nur um die eine Schnittstelle kümmerst. Ich selbst habe auch das VI "Visa öffnen" nie verwendet, meines Erachten ist es überflüssig.


RE: VISA sendet nur mit Highlight?! - GerdW - 15.01.2014 10:50

Hallo Samuel,

Zitat:Deswegen denke ich, dass die Wartezeit so reichen sollte und ein anderen Problem in Verbindung mit meinem Messprogramm vorliegt.
Zuerst wäre es mal hilfreich, bei einem Upload eines ganzen Verzeichnisses auch das Main-VI entsprechend zu kennzeichnen. So muss man raten ("educated guess") oder alle durchprobieren - sehr lästig...

Hast du mal irgendeinen unserer Vorschläge beachtet?
- Du verwendest immer noch zuviel Code - die ganzen Konstanten am SerialPortInit versperren nur die Sicht.
- Lucki hat etwas sehr wichtiges geschrieben - du aber nicht beachtet/durchdacht. Wenn du direkt nach dem VISAWrite ein VISAClose aufrufst, was passiert dann wohl mit dem zu sendenden Befehl? Das war übrigens in deinem ersten Beitrag noch nicht enthalten! Wenn du VIs änderst, solltest du das auch mitteilen!

Edit:
Du scheinst generell auf unnötigen (aka RubeGoldberg) Code zu stehen... Big Grin