INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

visa - rs-232 - voltcraft vc920 - error -1073807298



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!

11.02.2009, 08:15 (Dieser Beitrag wurde zuletzt bearbeitet: 11.02.2009 08:23 von rolfk.)
Beitrag #10

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
visa - rs-232 - voltcraft vc920 - error -1073807298
' schrieb:Hallo,

Folgendes Problem entzieht sich beharrlich der Lösung durch meine (bescheidenen) LabVIEW-Kenntnisse. Entschuldigt vorab die englischen Bezeichnungen - ich habe hier nur diese Sprachversion verfügbar.

Ich versuch das Voltcraft VC920 DMM mittels RS-232 und VISA auszulesen. Ein naiver Ansatz aufbauend auf dem "property node - bytes at port" und "VISA Read" funktionier auch nach meinen Vorstellungen, vorausgesetzt das VI wird nur einmal ausgeführt. Bei wiederholter Ausführung (nach Stopp, wobei VISA Close aufgerufen wird) liefert "VISA Read" aber den kryptischen Fehler -1073807298 (Hex 0xBFFF003E, Could not perform operation because of I/O error.). Dieser Fehler tritt erstaunlicherweise nur einmal auf und wird er ignoriert (verbundener error handler oder durch Betätigung von "Continue" im Fehlerdialog), so läuft das VI erwartungsgemäß weiter. Trotzdem finde ich die Option den Fehler permanent außer Acht zu lassen nicht erstrebenswert und hoffe ihr könnt damit mehr anfangen als ich. Jedenfalls habe ich die Ausgabe des NI Spy’s für einen erfolgreiche Aufruf im neu gestarteten LabVIEW (spy_1.txt) und einen erfolglosen Aufruf (2.) angehängt (spy_2.txt). Beide basieren auf dem simplen, ebenfalls beigefügten Prototype-VI (LV 8.5).

[attachment=43965:vc920_test_8_5.png] (LV 8.5)

Mein Google Reschärsche hat zwar zu dem beanstandeten Fehler viele Referenzen aufgeworfen - eine Lösung oder auch nur die Ursache konnte ich daraus aber nicht ableiten. Bin für alle Tipps und Ideen dankbar.

LV-Anfänger

[attachment=43966:spy_1.txt]
[attachment=43967:spy_2.txt]

Also ganz helfen kann ich dir wohl auch nicht aber Du hast da zwei Dinge die mich ziemlich stören. Das erste ist dass Du zwar Termination Character enablest (bewusst oder das wird default getan) aber danach trotzdem mit Avail_Bytes arbeitetest. Das Zweite ist bei einem Instrument das einen Termination Character hat (die zwei Punkte am Ende von zurückgelesenen Strings im viRead des Spylogs lassen mit fast 100% vermuten dass das wirklich so ist) eigentlich überflüssig da die VISA Read Funktion bei einem Read mit eingeschaltetem Termination Character ohnehin wartet bis entweder:

1) die verlangten Anzahl Character eingetroffen sind
2) der Termination Character gelesen wurde
3) das Timeout abgelaufen ist
4) ein Fehler aufgetreten ist

Avail Bytes hätte hier höchstens als Indikation, ob überhaupt Daten anliegen einen Sinn um bei einem Gerät dass sehr langsam Daten ausspuckt zu verhindern, dass VISA Read auf die nächsten Daten wartet während der Benützer die Applikation abschliessen möchte, und die Applikation erst abschliesst nach langer Wartezeit wenn das VISA Read endlich mit den Daten zurückkommt.

Also eventuel Avail_Bytes machen und wenn nicht 0, dann mit VISA Read mit einer viel grösseren Zahl die ganz sicher länger als der längstmöglich zurückgegebene String ist lesen.

Zweiter Nitpick, wenn Du schon Avail_Bytes verwendest solltest Du im Falle von 0 Bytes das VISA Read gleich in eine case Struktur legen. Es hat absolut keinen Sinn um diese Funktion aufzurufen um 0 Bytes zu lesen und das könnte eventuel die Schnittstelle durcheinander bringen.

Ohh und bitte solche Dinge nicht in eine Loop setzen die volle Pulle durchdreht. Da gehört schon ein Looptimer hinein der im Verhältniss der Berichthäufigkeit die Loop bremst. Das Metronom eignet sich dazu sehr gut. Es hat keinen Sinn 5000 mal pro Sekunde zu schauen ob da ein neuer String ist wenn das Gerät doch nur 2 pro Sekunde verschickt.

Noch ein Tipp, bei solchen Berichtschleudern, die ganz einfach immer Daten rauspusten ist es eine gute Idee um nach der Initialization erst die Buffer zu leeren.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
visa - rs-232 - voltcraft vc920 - error -1073807298 - rolfk - 11.02.2009 08:15

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  VISA Error 1073807339 aber nicht mit Lämpchen an Hachiko 6 5.777 01.06.2021 13:32
Letzter Beitrag: Hachiko
  VISA Error Code Fehlerbehandlung L@BTR0N 2 4.846 19.02.2019 13:53
Letzter Beitrag: L@BTR0N
  Error when control USB Test&Measurement Device using VISA r4Ak5 8 7.986 09.03.2017 16:26
Letzter Beitrag: GerdW
  Fehler -1073807298 bei VISA: Lesen Schnittlauch 7 9.582 17.01.2017 16:07
Letzter Beitrag: GerdW
  VISA Error in MAX (No matching resource found) m.werle 11 16.368 11.01.2016 15:09
Letzter Beitrag: m.werle
  VISA: Timeout Error (1073807339) TobSTAR 4 9.184 03.07.2014 09:22
Letzter Beitrag: TobSTAR

Gehe zu: