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 

Fehler -1073807298 bei VISA: Lesen



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!

16.01.2017, 18:51
Beitrag #1

Schnittlauch Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jan 2017

LabView 2013
2016
DE



Fehler -1073807298 bei VISA: Lesen
Hallo LabVIEWer

ich schreibe eine VI zum Auslesen des Thermometers Optris CS LT. Es kommuniziert über RS232, aber ich schließe es per USB an meinen Computer an. Der Adapter wurde mit dem Thermometer mitgeliefert und gehört dazu. Ich benutze den mitgelieferten Treiber.

Beim Ausführen meines VIs bekomme ich in ca. 10% der Fälle den Fehler -1073807298 in 'Visa: Lesen': VISA: (Hex 0xBFFF003E) Operation konnte wegen eines I/O-Fehlers nicht durchgeführt werden. Wenn er einmal auftritt, dann meist noch mehrere Male direkt danach. Wenn der Fehler allerdings auftritt, liest das VI dennoch die Temperatur aus. Es funktioniert also immer, wirft nur manchmal am Ende diesen Fehler. Hat jemand eine Idee woran das liegen könnte?

Das Thermometer kommuniziert über verschiedene Befehle, die ich als Bild angehängt habe. Ich möchte erstmal nur die Temperatur abfragen und erwarte 2 Byte als Antwort, die auch immer kommen.
   

Außerdem meine VI, geschrieben mit LabVIEW 2013.

13.0 .vi  Simple_Serial_Communication.vi (Größe: 35,15 KB / Downloads: 340)

   

Ich habe die VI nur soweit hinbekommen wie sie jetzt ist, weil ich hier im Forum viele gute Fragen und Antworten zu Problemen gefunden habe, die vorher aufgetreten sind. Also schon mal vielen Dank dafür!

Beste Grüße und vielen Dank
Schnittlauch
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.01.2017, 19:56 (Dieser Beitrag wurde zuletzt bearbeitet: 16.01.2017 19:57 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Fehler -1073807298 bei VISA: Lesen
Hallo Schnittlauch,

Zitat:Wenn der Fehler allerdings auftritt, liest das VI dennoch die Temperatur aus. Es funktioniert also immer, wirft nur manchmal am Ende diesen Fehler.
Einfache Lösung: Fehler abfangen und ignorieren!

Zitat:Hat jemand eine Idee woran das liegen könnte?
An der Art, wie dein VI arbeitet!?
Warum musst du bei jedem Aufruf erneut die Schnittstelle initialisieren?
Sowas macht man üblicherweise genau einmal vor einer Schleife. Und den Port schließt man genau einmal nach einer Schleife. Und in der Schleife fragt man beliebig oft Messwerte ab!
   
-BytesAtPort sollte man eher nicht verwenden: du weißt doch, wieviele Bytes als Antwort kommen! Also einfach 2 Bytes einlesen!
- Die Umwandlung der Bytes nach Temperatur geht auch einfacher… (Kann sein, dass du im Bild beim Join die Inputs austauschen musst.)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2017, 10:56
Beitrag #3

Schnittlauch Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jan 2017

LabView 2013
2016
DE



RE: Fehler -1073807298 bei VISA: Lesen
Die Funktion Bytes-at-Port hat bei mir hier immer gut funktioniert, ich habe sie rausgenommen ohne einen Unterschied zu sehen.

Wenn ich eine while-Schleife einfüge wie von dir vorgeschlagen passiert folgendes: Wenn ich nur ein Stop-Bedienungselement einfüge, also keine intrinsische Abbruchbedingung, funktioniert es ohne Fehler, immer. Ist aber nicht sehr praktisch. Sobald ich irgendeine Stopbedingung einbaue, wie z.B. 5 mal durchlaufen, tritt der Fehler wieder auf. Zufällig bei einer der Wiederholungen.
Das verstehe ich nicht, ich dachte LabVIEW fragt die Abbruchbedingung immer nach Durchlauf der Schleifeniteration ab. Wieso macht es dann einen Unterschied, ob da eine while-Schleife ist oder nicht, bzw sie eine Abbruchbedingung hat oder nicht. Der Fehler tritt ja vor Erreichen der Abbruchbedingung auf, wenn er auftritt.

Zum Fehlen der while-Schleife in meinem ersten VI: Ich plane ja nicht die VI so zu benutzen, immer wieder auszulösen und immer wieder den Port neu zu initialisieren. Ich wollte es nur erstmal irgendwie zum laufen bringen. Ich kann den Fehler natürlich einfach ignorieren, da ja trotzdem alles funktioniert. Ich wollte nur gern verstehen warum er auftritt.

Vielen Dank für deine schnelle Antwort
Schnittlauch
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2017, 11:14
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Fehler -1073807298 bei VISA: Lesen
Hallo Schnittlauch,

Zitat:Wenn ich nur ein Stop-Bedienungselement einfüge, also keine intrinsische Abbruchbedingung, funktioniert es ohne Fehler, immer. Ist aber nicht sehr praktisch.
Wieso ist es unpraktisch, wenn ein VI OHNE Fehler durchläuft? Hmm
Bist du dir sicher, dass kein (VISA-)Fehler auftritt?

Zitat:Sobald ich irgendeine Stopbedingung einbaue, wie z.B. 5 mal durchlaufen, tritt der Fehler wieder auf. Zufällig bei einer der Wiederholungen.
Wie sieht das dann bei dir aus?
Passt das evtl. mit meiner Frage zum ersten Punkt zusammen: Bist du dir sicher, dass oben keine VISA-Fehler auftreten?

Zitat:Ich wollte nur gern verstehen warum er auftritt.
- Du hast da ein komisches Gerät mit komischem Kommunikations-Protokoll…
- Du verwendest einen komischen USB-2-RS232-Konverter…
- Du bist dauernd mit Port öffnen/schließen/Buffer leeren/etc beschäftigt…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2017, 12:08
Beitrag #5

Schnittlauch Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jan 2017

LabView 2013
2016
DE



RE: Fehler -1073807298 bei VISA: Lesen
Unpraktisch, weil ich keine while-Schleife brauche, die ich manuell oder eben extern abbrechen muss.
Ich bin so weit sicher, dass keine Fehler auftreten. Ich habe es seeehr oft und lange ausprobiert. Würde ein Fehler auftreten, könnten Folgeiterationen die Temperatur nicht mehr auslesen.

Tritt der Fehler auf, zB bei der 2. Iteration, wenn ich eine Abbruchbedingung definiere, wird erst die Temperatur einmal angezeigt, dann läuft die while-Schleife an dem Fehlerstrang noch durch und liest keine neuen Werte mehr aus. Es sind dann auch keine Bytes zum lesen da und beide Bytes werden als 0 interpretiert und der erste Wert überschrieben, immer wieder mit 0 eben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2017, 12:44 (Dieser Beitrag wurde zuletzt bearbeitet: 17.01.2017 12:46 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Fehler -1073807298 bei VISA: Lesen
Hallo Schnittlauch,

Zitat:Tritt der Fehler auf, zB bei der 2. Iteration, wenn ich eine Abbruchbedingung definiere, wird erst die Temperatur einmal angezeigt, dann läuft die while-Schleife an dem Fehlerstrang noch durch und liest keine neuen Werte mehr aus.
Das kapiere ich nicht…
Wenn du die Whileschleife bei einem Fehler beendest, wieso läuft sie dann noch weiter und warum bekommst du dann noch Null-Bytes? Hmm

Zitat:Es sind dann auch keine Bytes zum lesen da und beide Bytes werden als 0 interpretiert und der erste Wert überschrieben, immer wieder mit 0 eben.
Das ist ein typisches Programmierproblem: Der Programmierer hat vergessen, dass er auch noch etwas Fehlerbehandlung bedenken muss!

Zitat:weil ich keine while-Schleife brauche, die ich manuell oder eben extern abbrechen muss.
Das spricht für eine sehr ungewöhnliche Messaufgabe: nur einmal einen Wert abfragen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2017, 15:55
Beitrag #7

Schnittlauch Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jan 2017

LabView 2013
2016
DE



RE: Fehler -1073807298 bei VISA: Lesen
Der Fehler beendet ja nicht die while-Schleife, er verhindert nur das Lesen von Daten. Der geht über den Fehlerstrang raus, damit der Port zugemacht wird, bevor das Programm abbricht.
Ich habe inzwischen eine Version geschrieben, die den Fehler auffängt und ignoriert. Funktioniert gut. Nur einen Wert auslesen will ich, weil das ganze zeitlich abgestimmt mit anderen Messgeräten laufen muss. Die Initialisierung und das Schließen des Ports habe ich dafür in eigene VIs gepackt und die werden nur einmal benutzt, keine Sorge. Im richtigen Moment frage ich eben nach einem Wert, aber das passiert öfters, da hast du schon recht. Wie gesagt, ich wollte ja nur erst eine kompakte Version schreiben, um das Thermometer zu verstehen. Dieses Phänomen mit der while-Schleife verstehe ich allerdings immer noch nicht.
Trotzdem aber vielen Dank für deine Hilfe und bis zum nächsten Mal Big Grin
Beste Grüße
Schnittlauch
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2017, 16:07
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Fehler -1073807298 bei VISA: Lesen
Hallo Schnittlauch,

Zitat:Dieses Phänomen mit der while-Schleife verstehe ich allerdings immer noch nicht.
Um das zu verstehen, wäre ein VI oder wenigstens ein Bild deines BD hilfreich!
Leider lieferst du ja keins von beidem…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  VISA: (Hex 0xBFFF003E) I/O-Fehler Jurely16 3 5.265 02.02.2021 11:08
Letzter Beitrag: GerdW
  VISA: I/O Fehler beim Auslesen einer seriellen Schnittstelle konne 5 7.621 19.07.2017 13:04
Letzter Beitrag: konne
  VISA Read Fehler 1073807302 Stefan1101 4 7.700 29.08.2016 10:13
Letzter Beitrag: Stefan1101
  VISA I/O-Fehler Pansonia 5 7.215 26.03.2015 21:29
Letzter Beitrag: jg
  Problem mit 0A im Rückgabestring bei Visa Lesen sumsi 5 5.882 17.02.2015 10:56
Letzter Beitrag: sumsi
  Fehler beim Erstellen einer Datei, durch VISA ausgelöst? Klausenwirt 5 6.786 14.03.2014 10:39
Letzter Beitrag: Klausenwirt

Gehe zu: