LabVIEWForum.de
Wie empfangene RS232-Bytes vor Weiterverarbeitung sammeln? - 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: Wie empfangene RS232-Bytes vor Weiterverarbeitung sammeln? (/Thread-Wie-empfangene-RS232-Bytes-vor-Weiterverarbeitung-sammeln)



Wie empfangene RS232-Bytes vor Weiterverarbeitung sammeln? - Christoph.Budelmann - 26.04.2006 14:50

Hallo,

ich fange gerade mit LabVIEW an und möchte als erstes Projekt die Daten aus einem Messgerät über RS232 auslesen und weiterverarbeiten. Die Daten kommen als String im Format

"ch1: 24.7; ch2: 36.2; "

an, wobei die Zahl der Kanäle von einem bis acht variert, die Zeichenanzahl also nicht konsistent ist. Am Ende des Strings kommt noch ein CR/LF. Das Empfangen der Daten und der Programmteil zum Aufspalten des Strings funktionieren soweit, was bislang scheiterte ist der Teil der die empfangenen Bytes in einem Buffer sammelt, bis ein CR/LF empfangen wurde und den Buffer an den Programmteil zum Aufspalten weitergibt.

Wie kann ich also empfangene Bytes in einem String sammeln bis zur Detektion eines CR/LF, dann den String weitergeben an einen anderen Programmteil und danach das ganze wieder wiederholen? Meine Versuche bislang gingen alle schief, wobei ich mir die Fehler schlicht nicht erklären kann.


Wie empfangene RS232-Bytes vor Weiterverarbeitung sammeln? - eg - 26.04.2006 14:54

Hallo Chrispoph,

wie ist deine Init-Funktion belegt? (Ich meine VISA-Init)

Oben gibt es einen Anschluss "Termination Char" und einen "Timeout". Lese in der LV Help darüber.

Gruss, Eugen


Wie empfangene RS232-Bytes vor Weiterverarbeitung sammeln? - Christoph.Budelmann - 26.04.2006 15:37

Hallo Eugen,

die Init-Funktion wird mit 9600baud, 0 parity, 1 stop, 8 data und einem timeout von 10s aufgerufen. Bislang habe ich den Termination Char auf False gesetzt. Die Hilfe hierzu habe ich gelesen, allerdings ist mir die Funktion des Termination Char immer noch nicht ganz klar. Kann ich darüber das blockweise Auslesen der RS232 realisieren und wenn ja, wie bitte?

Danke schonmal!

Christoph


Wie empfangene RS232-Bytes vor Weiterverarbeitung sammeln? - cb - 26.04.2006 17:03

da lohnt sich doch wieder meine examples-sammlung:

guckst du hier: Asynchrones Empfangen über RS232


Wie empfangene RS232-Bytes vor Weiterverarbeitung sammeln? - Christoph.Budelmann - 26.04.2006 17:33

Danke, das hat geholfen. Jetzt geht es.

Gruß
Christoph