LabVIEWForum.de - VISA: I/O Fehler beim Auslesen einer seriellen Schnittstelle

LabVIEWForum.de

Normale Version: VISA: I/O Fehler beim Auslesen einer seriellen Schnittstelle
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin moin alle zusammen,

Ich bin bei der Programmierung eines VI zum Auslesen einer seriellen Schnittstelle auf Probleme gestoßen. Ich versuche einen Datenlogger für Modellflugzeuge auszulesen, um einen kleinen Motorenprüfstand aufzubauen. Das Gerät heißt UniLog und wird über ein mitgeliefertes Interface per USB angeschlossen. Vom Hersteller habe ich alle Infos erhalten, wie dieses Gerät anzusprechen ist und wie das 24byte große Datenpaket zu interpretieren ist. Mit einer Datalogging-Software ("DataExplorer") läuft das alles wunderbar - ich versuche nun aber, die Daten in meinem VI anzuzeigen in dem ich auch die Steuerung des Prüfstands vornehme.

Das VI öffnet eine VISA-Schnittstelle, legt den Puffer fest, leert den Puffer zur Sicherheit einmal komplett, sendet ein "v" als Trigger für die Live-Datenabfrage an den Logger, wartet 5s und soll dann in einer Schleife die Daten auslesen. Sobald das VI in der Schleife beim "VISA read" Block ankommt erscheint dann aber der folgende Fehler:

Zitat:Fehler -1073807298 bei VISA: Lesen in ControlTestbed.vi

Mögliche Ursachen:

VISA: (Hex 0xBFFF003E) Operation konnte wegen eines I/O-Fehlers nicht durchgeführt werden.

Der gleiche Fehler wird auch bei der Konfiguration im MAX angezeigt.

Umfangreiche Recherche brachte bis jetzt leider kein Ergebnis. Ich habe auch alle Threads in diesem Forum nach dem Fehler durchforstet (er trat ja bereits einige Male auf) und die Anweisungen zur Behebung dort befolgt und mit eingearbeitet. Leider ohne Erfolg.

Das Blockdiagramm ist unten angehängt.

Ich bin dankbar für jedweden Hinweis, Hilfe, Tipp oder Wink auf den richtigen Pfad.

Schönen Gruß,
konne
Hallo Konne,
Mit dem ersten VI öffnest Du die Session bereits.
Die Buffer VIs würde ich mal weg lassen und die 5 Sekunden Wartezeit auch.
Nach dem Auslesen würde ich über ein Schieberegister die Strings sammeln.
Damit keine Error Meldung das System anhält am Ende der While Schleife die Error Leitung löschen.
Dann mal laufenlassen, jetzt müssten alle Strings kommen, bis Du den Stop Button gedrückt hast.

Damit sollte eigentlich die Kommunikation mal getestet sein.

Gruß
Freddy
Moin Freddy,

Danke für deine Antwort. Der Fehler bleibt leider weiterhin unverändert bestehen.
Ausgelesen werden auch nur leere Strings.

Es ist zum wahnsinnig werden!
Hallo konne,

du könntest mit einem Serial Port Sniffer schauen, wie dieser "DataExplorer" kommuniziert.
Und das kannst du dann damit vergleichen, was du mit LabVIEW versuchst…

Ich habe mir das Manual nicht durchgelesen, aber verwendest du die identischen Schnittstellenparameter?
Hallo konne,
nach dem Datenblatt ist die Verbindung mit 9600 Baud.
Du stellst auf 115200 da kann nichts synchronisieren.

Gruß Freddy
Hallo Jungs,

Vielen Dank für eure Antworten.

Warum auch immer, der Fehler ist verschwunden, trotzdem ich nichts geändert habe...

Jedenfalls klappt es jetzt wie gewünscht. Hoffentlich bleibt das so, ansonsten schlage ich nochmal Alarm.

Danke euch!
Referenz-URLs