RS232 horchen - timeout 1073807339 - 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: RS232 horchen - timeout 1073807339 (/Thread-RS232-horchen-timeout-1073807339) |
RS232 horchen - timeout 1073807339 - RosJon - 11.08.2010 10:13 Hallo, eigentlich denke ich, dass mein Anliegen hier schon x-mal diskutiert worden sein müßte, aber ich finde nicht so recht, was ich suche. Ich möchte in Labview eine Fernbedienung einlesen, die über die serielelle Schnittstelle angeschlossen ist. Wann der Bediener diese benutzt weiß ich natürlich nicht. - Bisher habe ich mich ans LV Beispiel "Advanced Serial Write and Read.vi" gehalten. Da laufe ich allerdings ständig in den Timeout. - Es kann halt auch vorkommen, dass die Fernbedienung Stundenlang nicht benutzt wird. Ich bin also auf der Suche nach einer Möglichkeit, auf RS232 zu horchen und auf ein Event zu warten, aber auch beim warten auf Events hat das VISA vi einen Timeout. Irgendwie drehe ich mich da gerade im Kreis. Hat da jemand eine Idee? Grüße rosjon vi ist für LV2009 RS232 horchen - timeout 1073807339 - TSC - 11.08.2010 10:21 Hast du mal eine Null oder einfach nichts an das Timeout von "VISA Wait on Event" angeschlossen? Üblicherweise bedeutet das, unendlich lang warten! Grüße, Torsten RS232 horchen - timeout 1073807339 - RosJon - 11.08.2010 10:29 Hallo Torsten, dann kommt der Fehler umgehend. Grüße, Jonas RS232 horchen - timeout 1073807339 - Lucki - 11.08.2010 10:30 Das ist eigentlich kein schwieriges Problem. Man könnt Dir aber noch zielgerichteter helfen, wenn Du das genaue Datenformat der Fernbedinung verrätst. Also z.B: Besteht die gesendete Information nur aus einem Byte? Wenn nicht: Besteht ein Datensatz immer aus einer konstanten Anzahl Bytes? Wenn nicht: Wird am Ende das Datensatzes ein Abschlußzeichen übertragen? RS232 horchen - timeout 1073807339 - RosJon - 11.08.2010 11:21 Hallo, der Datensatz besteht grundsätzlich aus 3 Byte mit Abschlusszeichen am Ende. Grüße und Dank Jonas RS232 horchen - timeout 1073807339 - Lucki - 11.08.2010 13:25 Mit Abschlusszeichen ist es besonders einfach [attachment=28704]. Der Timeout macht übrigens Sinn und sollte nicht zu lang sein (500ms). Dadurch ist es erst möglich, das Programm mit der Stop-Taste jederzeit zu beenden. Der Timeout-Fehler muß nur abgefangen werden, damit er nicht zum Abbruch des Programms führt. PS Bin mir nicht sicher über die Funktionsweise von VI Read bei Timeout. Bin jetzt davon ausgegangnge, daß, wenn z.B. bei Timeout 1 Byte im Buffer ist, dieses Byte überhaupt nicht ausgelesen wird, d.h es bleibt im Buffer, bis beim nächsten Leseversuch ein Endzeichen festgetellt wird. Falls das anders ist, wäre noch ein kleine Modifikation zu machen |