![]() |
VISA RS Lesen, aber wann? - 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 RS Lesen, aber wann? (/Thread-VISA-RS-Lesen-aber-wann) |
VISA RS Lesen, aber wann? - Mr.T - 24.08.2006 13:45 Hallo zusammen! Folgendes Szenario: Am RS232 hängt ein Teilnehmer. Dieser sendet irgendwann (also ich weiß wirklich nie, wann) ein Zeichenpaket. Also muß man am Port horchen. Aber wie bekommt man das hin, ohne z.B. Timeouts zu bekommen? Erster Versuch: Timeoutzeit auf NaN. Klappt. Aber wenn READ auf Zeichen wartet, kann ich mein Programm nicht mehr beenden. Also: klappt doch nicht. Zweiter Versuch: Timeout auf 0. State Machine Lesen - beenden abfragen - lesen - beenden abfragen - lesen - .... Also: irgendwie blöd und ich habe keinerlei Timeoutkontrolle mehr. Gint es vielleicht etwas, dass mir sagt (EVENT oder sowas) "Schnittstelle hat Daten emfangen, sie stehen zur Abholung bereit"? Gruß und Dank! VISA RS Lesen, aber wann? - eg - 24.08.2006 13:50 Ja, es gibt einen Event namens "Serial Character", siehe Bild. Gruss VISA RS Lesen, aber wann? - Mr.T - 24.08.2006 14:03 Erstmal Dank! Das sieht gut aus. Da ich sowas noch nicht gemacht habe (Events) dauert dann meine Umsetzung, aber ich zeige sie dafür dann auch allen. Gruß! VISA RS Lesen, aber wann? - eg - 24.08.2006 14:24 Bei diesem Event musst du aber auch einen Timeout eingeben. Setze ihn z.B. auf 1 Sekunde und mach eine Whileschleife drum. Gruss VISA RS Lesen, aber wann? - Mr.T - 24.08.2006 14:54 Was mache ich falsch? Ich habe erst eine Warnung die ab dem "Auf Ereignis warten" zum Fehler wird. Warnung: Warnung 1073676290 ist bei VISA: Ereignis aktivieren in Com1 Test.vi aufgetreten Fehler: Fehler -1073807339 ist bei VISA: Auf Ereignis warten in Com1 Test.vi aufgetreten Gruß und Dank VISA RS Lesen, aber wann? - eg - 24.08.2006 15:06 Dieser Fehler sagt, dass die Zeit(Timeout) abgelaufen ist, aber das Ereignis noch nicht aufgetreten wurde, die kannnst du einfach ignorieren. Übrigens, eine Sekunde = 1000 ms Gruss VISA RS Lesen, aber wann? - Mr.T - 24.08.2006 15:20 Ignorieren? Mal blöde gefragt - macht man sowas? Wenn ich im "Highlight" - Modus den Signalfluss verfolge, geht die eingestellte Zeit beim "Ereignis warten" überhaupt nicht ein. Will sagen: das Ereignis-VI wartet die Sekunden (5s) nicht ab, sondern läuft direkt durch und nur die Timeout Zeit des READ läuft ab. Das sollte doch nicht so sein - oder? Komisch. Jetzt habe ich mal übertriebene 5000000ms eigegeben. Nach dem dritten Durchlauf hat dann das "Ereignis" VI tatsächlich angefangen zu warten. Dann habe ich den Prozess abgeschossen. Jetzt gehen auch 200ms als Timeout. Also bin ich im Prinzip zufrieden und dankbar. Vielen Dank Eugen. Anbei das funktionierende VI. Kannst Du Dir einen Reim auf das komische Verhalten machen? VISA RS Lesen, aber wann? - christian1979 - 25.08.2006 07:24 Habe leider nur LV 7.1 und kann die Datei nicht öffnen. Kann mir die jemand mal bitte in LV 7.1 Format bringen und schicken? Meine Email: chgoldmann@gmx.de Vielen Dank ' schrieb:Ignorieren? |