LabVIEWForum.de
Datenerfassung - 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: Datenerfassung (/Thread-Datenerfassung)



Datenerfassung - abc123 - 23.04.2010 14:11

Hallo zusammen,

ich hab da mal ne Frage zu meiner COM3 Schnittstellenansteuerung.
Ich habe ein kleines Programm geschrieben und es funktioniert auch soweit ganz gut.
Meine frage ist nun an euch, ob man das etwas geschickter programmieren kann, damit man diese Wartezeit eliminieren oder sehr stark reduzieren kann. Problem ist dass Werte abgeschnitten werden, wenn die Zeit noch weiter heruntersetzt wird.
Ich bin für jede Hilfe dankbar.
Schon mal vielen Dank im Voraus.

viele grüße chris

Lv86_img


Datenerfassung - schrotti - 23.04.2010 18:36

Wenn du bitte die Antwort des Device postest, am besten alle acht Antworten, dann ließe sich dir besser helfen.

Edit: Ok, hab grad gesehen, dass du als Abschlusszeichen 0xD verwendest. Du kannst einfach auf das Zeichen warten.

Lv86_img [attachment=25973]
[attachment=25974]


Datenerfassung - Lucki - 23.04.2010 22:00

VisaRead wartet, bis eine der drei Bedingungen erfüllt ist: (i) die angegegebene Zahl von Bytes ist im Buffer, (ii)Termchar ist im Buffer (ii) Timout.
Das Wait wegfallen lassen, an den Eingang eine Bytezehl anschließen, die größer ist als das was Du erwartet, und Temchar aktivieren (wie bereits gemacht) müßte funktionieren.
[attachment=25975]
Die Variante von Schrotti müßte aber genau so gut funktionieren: Vor dem Lesen auf Termchar warten, dann alle Bytes im Buffer auslesen. Es sind aber dann zwei Funktionen mehr.


Datenerfassung - eg - 23.04.2010 22:08

' schrieb:Timout
Temchar

Zeit für neue Tastatur Ironie


Datenerfassung - abc123 - 26.04.2010 12:00

' schrieb:VisaRead wartet, bis eine der drei Bedingungen erfüllt ist: (i) die angegegebene Zahl von Bytes ist im Buffer, (ii)Termchar ist im Buffer (ii) Timout.
Das Wait wegfallen lassen, an den Eingang eine Bytezehl anschließen, die größer ist als das was Du erwartet, und Temchar aktivieren (wie bereits gemacht) müßte funktionieren.
[attachment=54523:clip.png]
Die Variante von Schrotti müßte aber genau so gut funktionieren: Vor dem Lesen auf Termchar warten, dann alle Bytes im Buffer auslesen. Es sind aber dann zwei Funktionen mehr.
Danke Lucki
funkioniert super, genau so, wie ich es mir vorgestellt habe.
Vielen Dank


Datenerfassung - Lucki - 26.04.2010 12:47

Freut mich, daß es funktioniert.

' schrieb:Zeit für neue Tastatur
Leider ist es nicht die Tastatur, sondern so sehen meine Rohtexte aus, wenn ich sie hinterher nicht noch mal anschaue. In der interaktiven Kommunikation zwischen Tastatur und mir ist Sand im Getriebe. Deswegen traue ich mich auch nicht zu chatten. Vor ca. 2 Jahren hattest Du mich freundlicherweise dazu mal aufgefordert, und ich habe aus Angst vor der Blamage gekniffen. Jetzt hast Du mich doch noch erwischt..


Datenerfassung - B033el - 30.04.2010 18:22

ich hätte mal dazu ne frage, wie lang dauert es bis ich von visaread einen Timeout bekomme ?

thx Michael


Datenerfassung - jg - 30.04.2010 20:04

Das kannst du einstellen.

Entweder direkt bei VISA-Open oder auch jederzeit zwischenrein über die entsprechende PropertyNode (hierzu einfach einmal das VISA Configure Serial Port.vi öffnen).

Gruß, Jens


Datenerfassung - abc123 - 03.05.2010 10:06

Hi,

kann man das mit dem Einlesen der Daten auch irgendwie beschleunigen?
Dies klappt bei mir irgendwie nicht.

Gruß chris