LabVIEWForum.de
VISA-Lesen VI hängt sich unter LV2011 auf!? - 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-Lesen VI hängt sich unter LV2011 auf!? (/Thread-VISA-Lesen-VI-haengt-sich-unter-LV2011-auf)



VISA-Lesen VI hängt sich unter LV2011 auf!? - Roter Milan - 26.09.2011 16:35

Hallo liebe LV-Gemeinde,

ich verwende unter LV 2010 ein VI zum zyklischen lesen der seriellen Schnittstelle (Siehe Anhang). Ich sende eine Anfrage, auf die ich 94 Byte empfange. Ein Simulationsknoten der Gegenstelle befindet sich auch im Anhang (Zu verbinden über 0-Modemkabel).

Nun habe ich auf LV2011 upgedatet und stelle fest, dass mein VI sich fürher oder später in der Funktion VISA-Lesen aufhängt. Wenn ich im Blockdiagramm die "Lampe" anschalte sieht man das. Das VI kann dann auch nur über den Taskmanager geschlossen werden.

Unter LV 2010 hatte ich keinerlei Probleme damit. Ich habe auch schon die Aktuelle Version des VISA-Treibers (V 5.1.1) installiert, ohne Erfolg.

Kann mir jemand weiterhelfen?

Freundliche Grüße

RoterMilan


RE: VISA-Lesen VI hängt sich unter LV2011 auf!? - jg - 26.09.2011 16:51

Was ist denn das für eine Inkonsistenz?
Du konfigurierst deine Schnittstelle auf "Termination Char"=TRUE und lässt den Term-Char auf dem Default-Wert 0xA=\n=Newline.
Bei deiner Kommunikation schließt du jeden gesendeten String aber mit 0xD=\r=Carriage Return ab.

Außerdem kannst du dir das Ganze "Bytes at Port" etc. sparen.
Wenn du schon ein eindeutiges Abschlußzeichen hast, dann wird an VISA-Read eine entsprechend große Zahl angeschlossen und gut ist. Die Read-Funktion gibt nämlich immer dann einen kompletten String zurück, wenn:
1) Der Timeout überschritten wurde
2) oder die Anzahl der gewünschten Bytes im Puffer ist
3) oder der Termination Char im seriellen Stream erkannt wurde.

Gruß, Jens


RE: VISA-Lesen VI hängt sich unter LV2011 auf!? - Roter Milan - 27.09.2011 09:30

Hallo zusammen,

ich habe den Term-Char nun richtig auf <CR> = 0xD eingestellt und das VI auf Grund der Hinweise Jens optimiert.

Die anfangs beigefügte Simulation (VISA-Senden.llb) sollte zur Reproduzierung des Hängenbleibers dienen.

Das eigentliche Problem besteht mit dem VI VISA-Lesen.llb in Verbindung mit einem realen Klimaschrank unter LV 2011. Der Klimaschrank sendet auf eine Anfrage, eine Antwort mit <CR> abgeschlossen. In dem VI anbei sende ich zyklisch eine Anfrage und hole die Antwort ab.

Auch mit dem optimierten VI (Siehe Anhang) hängt sich LabVIEW nach ca. 700 Zyklen derart auf, dass der LabVIEW-Prozess nicht mal über den Taskmanager gestoppt werden kann. Man muss den Rechner neu starten. LV bleibt, wie schon erwähnt, in der VISA-Lesen-Funktion hängen.

Unter LV 2010 hatte ich keine solche Probleme.

Gruß

RoterMilan


RE: VISA-Lesen VI hängt sich unter LV2011 auf!? - jg - 28.09.2011 09:46

Gestern Abend mal (simuliert) getestet mit lv11_img, lief 2 h, keine Probleme.

Einzige Anpassung (zur Sicherheit) gegenüber deinem VI: Noch ein Flush Buffer eingefügt.
[attachment=36185]

Gruß, Jens

P.S.: Schon den letzten Patch installiert?


RE: VISA-Lesen VI hängt sich unter LV2011 auf!? - Roter Milan - 29.09.2011 09:43

Hallo Jens,

werden den Patch installieren und nochmal testen. Dann werde ich das Ganze auch mal auf einem anderen Laptop testen.

Ich melde mich wieder.

Gruß

RM