LabVIEWForum.de
VISA Error -1073807252 (Überlauffehler) - 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 Error -1073807252 (Überlauffehler) (/Thread-VISA-Error-1073807252-Ueberlauffehler)



VISA Error -1073807252 (Überlauffehler) - dali4u - 05.02.2013 09:02

UPS: gerade gesehen, bin im falschen Unterforum gelandet. Kann einer der Admins das
bitte in Instrument IO & VISA verschieben. Sorry


Hi Leute,

ich habe hier ein Problem bei dem ich nicht weiterkomme.
Ich lese über die COM Schnittstelle ein Messgerät aus.
Folgende Konfiguraton habe ich verwendet:

1. COM1 (echte serielle Schnittstelle) auf EX9520 zur Umwandlung auf RS485.
2. COM3 (USB auf RS485 mit EX9520)

Wenn ich die Messung über Nacht laufen lasse, erhalte ich über 50x den oben angegebenen Fehler.

VISA Error -1073807252
Während der Übertragung ist ein Überlauffehler aufgetreten. Ein Zeichen wurde nicht
vor dem Eintreffen des nächsten Zeichens von der Hardware gelesen.

Ich habe auch im Forum von NI gesucht und einges gefunden:

Aus NI Forum: "I did not explicitly set the I/O buffer size before and it defaults to 4096. I now increased the
buffer size by using the VISA Set I/O Buffer Size sub-VI and it resolved my issue. Not sure
why I did not encounter this issue before."
-> habe ich so gemacht

Aus NI Forum: "It basically means you're not reading the stuff from the serial port fast enough."
-> die Antwort ist 20 Byte groß! Das sollte für jeden aktuellen PC nie ein Problem sein.
Was mich wundet ist, dass die Auslesung VISA Read bei mir ca. 45 ms dauert.

Hat hier jemand ein Tipp für mich und könnte sich das VI mal anschauen. Habe beide
Versionen für LabView 2011 und 2012 angehängt.

habe habe ich schon gelesen:
http://www.labviewforum.de/Thread-Ueberlauf-bei-Serieller-Schnittstelle

Stefan

[attachment=43389]
[attachment=43390]


RE: VISA Error -1073807252 (Überlauffehler) - Y-P - 05.02.2013 09:31

Erledigt. Anniemacht_2 Big Grin

Gruß Markus

(05.02.2013 09:02 )dali4u schrieb:  UPS: gerade gesehen, bin im falschen Unterforum gelandet. Kann einer der Admins das
bitte in Instrument IO & VISA verschieben. Sorry



RE: VISA Error -1073807252 (Überlauffehler) - GerdW - 05.02.2013 10:46

Hallo dali4u,

Zitat:die Antwort ist 20 Byte groß! Das sollte für jeden aktuellen PC nie ein Problem sein.
Was mich wundet ist, dass die Auslesung VISA Read bei mir ca. 45 ms dauert.
Bist du dir sicher, dass du die Ausführungszeit des VISARead misst? Wirklich sicher?

Du misst die Zeit, die vom Versenden des Befehls (genauer: vom Schreiben der Sendedaten in den Sendebuffer der seriellen Schnittstelle des PCs) bis zum vollständigen Empfang der Antwort vergeht. Bei 9600 baud benötigen 20 Byte ca. 20ms zum Übertragen. Hinzu kommt noch die Zeit zum Versand des Befehls (16 Byte ~= 16ms). Und dann noch die Zeit, die dein Gerät zum Verarbeiten des Befehls benötigt - anscheinend ca. 10ms...

Zitat:Wenn ich die Messung über Nacht laufen lasse, erhalte ich über 50x den oben angegebenen Fehler.
Kannst du garantieren, das dein OS (Windows?) dein Programm die ganze Nacht ungestört laufen lässt?


RE: VISA Error -1073807252 (Überlauffehler) - dali4u - 05.02.2013 11:27

(05.02.2013 10:46 )GerdW schrieb:  Bist du dir sicher, dass du die Ausführungszeit des VISARead misst? Wirklich sicher?

Hmm. Bis vor 5 min war ich mir sicher Huh, denn VISA Write ist doch vor Sequenz
in der ich die Zeitstempel verwende. Wird denn die VISA Read beendet, bevor die Daten
aus dem Sendepuffer raus sind? So wie ich das in dem Test VI gemacht habe, wird doch
eingentlich die Ausführungsdauer des VI VISA Read mit 20 Byte gemessen?

(05.02.2013 10:46 )GerdW schrieb:  Du misst die Zeit, die vom Versenden des Befehls (genauer: vom Schreiben der
Sendedaten in den Sendebuffer der seriellen Schnittstelle des PCs) bis zum vollständigen
Empfang der Antwort vergeht.
[...] ca. 20ms zum Übertragen.
[...] Versand des Befehls (16 Byte ~= 16ms).
[...] Verarbeiten des Befehls ca. 10ms...

Ok, die Erklärung der Zeiten leuchtet mir ein... hatte selber aber nur die 20ms zur
Übertragung auf meinem "Zettel". Dennoch ist mir nicht klar warum ich alle Zeiten
messe, obwohl nur VISA Read dazwischen ist... muss ich wohl nochmal nachlesen und
weiter drüber nachdenken. Irgendwie kollidiert das mit meinem "Think Dataflow" ???

(05.02.2013 10:46 )GerdW schrieb:  Kannst du garantieren, das dein OS (Windows?) dein Programm die ganze Nacht ungestört laufen lässt?
Ich denke schon, denn die Fehler treten rein zufällig auf. Mal 50 pro 12 Stunden, mal 30 und nicht
zu bestimmten Zeiten. Ich lese ja gerade in diesem Moment ebenfalls aus und arbeite an diesem
Text während das Test VI als EXE läuft. Würden die Fehler bei bestimmten Ereignissen auftreten
(Mausbewegung oder so), dann würde ich hier einen Zusammenhang sehen, sonst nicht.

Aber ich habe inzwischen weitere Hinweise darauf, dass der Fehler durch den Schnittstellenwandler
aus der 1. Konfiguration (COM1 (echte serielle Schnittstelle) auf EX9520 zur Umwandlung auf RS485)
verursacht wird. Ich habe an einem anderen PC (Windows 7x64) das gleiche Tool in der Konfiguration
2 laufen (also USB auf RS485) und da geht es seit 2 Stunden gut, kein Fehler. Daher liegt
die Vermutung nahe, das es an dem EX9520 liegen könnte. Bei Einzelmessungen ist das EX9520
wohl kein Problem, erst bei Langzeitmessungen (die ich seit 2 Wochen vornehme) treten diese Fehler auf.
Ich werde mich auf jeden Fall hier melden, falls das der Fehler sein sollte.

Stefan


RE: VISA Error -1073807252 (Überlauffehler) - GerdW - 05.02.2013 11:43

Hallo dali4u,

Zitat:Dennoch ist mir nicht klar warum ich alle Zeiten messe, obwohl nur VISA Read dazwischen ist... muss ich wohl nochmal nachlesen und weiter drüber nachdenken. Irgendwie kollidiert das mit meinem "Think Dataflow" ???
Das kollidiert nicht mit dem Dataflow. Du musst dir darüber klar sein, dass VISAWrite/Read nur auf den Buffer der seriellen Schnittstelle zugreifen! Write setzt also einen Befehl ab, in dem es diesen in den Buffer schreibt - sofort danach fragst du die Uhrzeit ab. Zu diesem Moment fängt der Treiber der seriellen Schnittstelle aber erst an, die in den Buffer geschriebenen Daten real zu versenden... VISARead dagegen wartet, bis alle gewünschten Daten im Buffer vorhanden sind.

Zitat:Würden die Fehler bei bestimmten Ereignissen auftreten (Mausbewegung oder so), dann würde ich hier einen Zusammenhang sehen, sonst nicht.
???
Virenscanner? Netzwerkzugriffe (auf Nachts vielleicht ausgeschaltete Rechner)? Festplatten-Defragmentierung?
Windows-Update ist auch per default auf 3Uhr nachts eingestellt, usw usf...