LabVIEWForum.de
VISA Read Error erste Ausführung - 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 Read Error erste Ausführung (/Thread-VISA-Read-Error-erste-Ausfuehrung)



VISA Read Error erste Ausführung - cobain2004 - 09.01.2014 11:13

Hallo zusammen,

ich bin Neuling im LabVIEW und habe für ein CLT313 (Leistungs/Energietransmitter 3phasig)

CLT313 Bedienungsanleitung:
http://www.christ-elektronik.de/elements/products/files/E461780_BA_REV03_15-05-09_CLT310_313_deutsch.pdf

ein vi geschrieben um die gewünschten Messwerte auszulesen über RS232.
Dieses vi habe ich in diversen anderen vis als Subvi eingesetzt und in NI-Teststand eingefügt.

Nun kommt bei der ersten Ausführung immer ein VISA READ Fehler (VISA. LESEN in AuslesenCLT313.vi Hex 0xBFFF0015 Zeitüberschreitung bevor der Vorgang abgeschlossen werden konnte)

Bei erneuter Ausführung funktioniert alles so wie es sollte. Der Fehler tritt auch erst wieder auf wenn ich den PanelPC neustarte und die Applikation das erste mal wieder ausführe.

Weiss jemand von euch wo der Fehler liegt?

Verbesserungsvorschläge nehme ich gerne an.

Vielen Dank schon im vorausSmile

Gruss
cobain2004


RE: VISA Read Error erste Ausführung - GerdW - 09.01.2014 20:27

Hallo cobain,

Zitat:Nun kommt bei der ersten Ausführung immer ein VISA READ Fehler ... Bei erneuter Ausführung funktioniert alles so wie es sollte.
Wenn das Problem definiert auftaucht, kann man es auch programmatisch abfangen...

Zitat:Verbesserungsvorschläge nehme ich gerne an.
- In allen deinen Cases wird der gleiche Programmablauf ausgeführt: VISA-Write, warten, VISA-Read. Sowas gehört in ein subVI, welches das Kommando als Input bekommt und den Messwert als Output liefert!
- Man benötigt sicherlich auch keine 9 Lesepuffer-Anzeigen...
- Statemachine sollte man (muss man aber nicht) per Enum steuern, das vermeidet Probleme durch Tippfehler bei den Strings...
- Das ineinander-schachteln der States muss auch nicht unbedingt sein...
- Man muss nicht die Standardwerte beim SerialPortInit verdrahten...
- Aufräumen per Ctrl-U schadet meist auch nicht...


RE: VISA Read Error erste Ausführung - cobain2004 - 10.01.2014 13:08

(09.01.2014 20:27 )GerdW schrieb:  Hallo cobain,

Zitat:Nun kommt bei der ersten Ausführung immer ein VISA READ Fehler ... Bei erneuter Ausführung funktioniert alles so wie es sollte.
Wenn das Problem definiert auftaucht, kann man es auch programmatisch abfangen...

Zitat:Verbesserungsvorschläge nehme ich gerne an.
- In allen deinen Cases wird der gleiche Programmablauf ausgeführt: VISA-Write, warten, VISA-Read. Sowas gehört in ein subVI, welches das Kommando als Input bekommt und den Messwert als Output liefert!
- Man benötigt sicherlich auch keine 9 Lesepuffer-Anzeigen...
- Statemachine sollte man (muss man aber nicht) per Enum steuern, das vermeidet Probleme durch Tippfehler bei den Strings...
- Das ineinander-schachteln der States muss auch nicht unbedingt sein...
- Man muss nicht die Standardwerte beim SerialPortInit verdrahten...
- Aufräumen per Ctrl-U schadet meist auch nicht...

Danke für deine Infos.

Ich habe nun das Vi etwas angepasst (SubVI verwendet, Lesepuffer-Anzeigen geloescht, aufgeräumt).

Sicher gibt es irgendeine Möglichkeit dieses Problem abzufangen. Jedoch kenne ich die Ursache dafür nicht.
Ich könnte jedesmal nach der ersten Ausführung das VI ein zweites Mal aufrufen,
aber eigentlich sollte es doch eine schönere Lösung geben?


RE: VISA Read Error erste Ausführung - GerdW - 10.01.2014 20:45

Hallo cobain,

Zitat:Sicher gibt es irgendeine Möglichkeit dieses Problem abzufangen. ... Ich könnte jedesmal nach der ersten Ausführung das VI ein zweites Mal aufrufen
Nach dem SerialInit einfach einen Befehl zum Gerät schicken und die Antwort abfragen. Dann sollte deiner Beschreibung nach der Fehler auftreten. Diesen dann einfach löschen (es gibt dafür eine Funktion!) und normal weiterarbeiten...


RE: VISA Read Error erste Ausführung - jg - 10.01.2014 21:15

Noch eine Idee: Nach dem Serial Init einmal explizit per VISA-Open-VI die Schnittstelle öffnen! Serial Init enthält nämlich nur Konfigurationen der Schnittstelle, aber kein VISA-Open. Nach VISA-Open vielleicht noch per Flush Buffer den VISA-Buffer zur Sicherheit leeren.

Gruß, Jens