LabVIEWForum.de
VISA Sensor auslesen - 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 Sensor auslesen (/Thread-VISA-Sensor-auslesen)



VISA Sensor auslesen - derloewe - 21.04.2021 09:33

Hallo zusammen,

zuerst: Ich bin absoluter Neuling und entschuldige mich vorab schon für "blöde" Fehler.
Aktuell komme ich leider beim Auslesen eines Sauerstoffsensors nicht weiter. Probleme habe ich beim Erkennen des Anfangs einer neuen Nachricht.
Wie kann ich dafür sorgen, dass die komplette Nachricht ausgelesen wird, bevor die zweite gelesen wird. Damit sich im Lesepuffer nicht Informationen der Nachricht zuvor befindet.


Danke euch
LG


RE: VISA Sensor auslesen - GerdW - 21.04.2021 09:36

Hallo Löwe,

herzlich willkommen im Forum!

Zitat:Aktuell komme ich leider beim Auslesen eines Sauerstoffsensors nicht weiter. Probleme habe ich beim Erkennen des Anfangs einer neuen Nachricht.
Wie kann ich dafür sorgen, dass die komplette Nachricht ausgelesen wird, bevor die zweite gelesen wird. Damit sich im Lesepuffer nicht Informationen der Nachricht zuvor befindet.
Hast du auch ein Manual zu diesem Sensor? Eines, welches die Kommunikation beschreibt?

Wieso setzt du ein TermChar, wenn du (anscheinend) keines benötigst?
Plappert der Sensor von allein los oder erwartet er einen Befehl? Ein Befehl pro Nachricht (Request-Response) oder ein Befehl, um den Sensor "losquatschen" zu lassen?
Laut Lesepuffer sendet der Sensor ASCII-Nachrichten: brauchst du wirklich kein TermChar?
Sind deine erwarteten Nachrichten wirklich nur 4 Byte lang?
Bist du dir bei der Auswertung dieser 4 Bytes sicher, dass das auf diese Art geschehen soll?
Musst du den Receivebuffer wirklich leeren?


RE: VISA Sensor auslesen - derloewe - 21.04.2021 09:42

vielen Dank!
Im Anhang findest du das Datenblatt


RE: VISA Sensor auslesen - GerdW - 21.04.2021 09:48

Hallo Löwe,

hast du das Manual auch gelesen?

Der Sensor sendet 9 (oder 13) Bytes pro Datenpaket und verwendet ein CR (aka 0x0D aka 13) als TermChar!
Lese doch mal die Daten mit diesem Parametern ein…


RE: VISA Sensor auslesen - derloewe - 21.04.2021 09:51

(21.04.2021 09:48 )GerdW schrieb:  Hallo Löwe,

hast du das Manual auch gelesen?

Der Sensor sendet 9 (oder 13) Bytes pro Datenpaket und verwendet ein CR (aka 0x0D aka 13) als TermChar!
Lese doch mal die Daten mit diesem Parametern ein…

Oh entschuldige, ich sehe grade, dass ich die 4 Byte noch vom "Rumprobieren, was sich ändert" auf dem Bild habe. Ich habe natürlich gelesen, dass 13 Byte verwendet werden. Die 13 (CR) habe ich am ersten Block (Konfiguration) angegeben, oder muss das an einer anderen Stelle nochmal angegeben werden?


RE: VISA Sensor auslesen - GerdW - 21.04.2021 09:53

Hallo Löwe,

Zitat:Ich habe natürlich gelesen, dass 13 Byte verwendet werden. Die 13 (CR) habe ich am ersten Block (Konfiguration) angegeben, oder muss das an einer anderen Stelle nochmal angegeben werden?
Hast du dir die LabVIEW-Hilfe zur SerialPortInit-Funktion durchgelesen?
Dir ist klar, was die "13" bedeutet, die du dort "irgendwo" angeschlossen hast? (Anscheinend nicht…)

Wenn du 13 Bytes lesen willst, warum lässt du dann VISARead explizit nur 4 Bytes lesen? Hmm Wall

Die "13" beim SerialPortInit legt das TermChar fest - in deinem Fall zufällig sogar richtig, da der Sensor seine Messages mit einem CR (aka 0x0D aka 13) abschließt. Du solltest nur die TermChar-Erkennung aktivieren!


RE: VISA Sensor auslesen - derloewe - 21.04.2021 10:03

(21.04.2021 09:53 )GerdW schrieb:  Hallo Löwe,

Zitat:Ich habe natürlich gelesen, dass 13 Byte verwendet werden. Die 13 (CR) habe ich am ersten Block (Konfiguration) angegeben, oder muss das an einer anderen Stelle nochmal angegeben werden?
Hast du dir die LabVIEW-Hilfe zur SerialPortInit-Funktion durchgelesen?
Dir ist klar, was die "13" bedeutet, die du dort "irgendwo" angeschlossen hast? (Anscheinend nicht…)

Wenn du 13 Bytes lesen willst, warum lässt du dann VISARead explizit nur 4 Bytes lesen? Hmm Wall

Die "13" beim SerialPortInit legt das TermChar fest - in deinem Fall zufällig sogar richtig, da der Sensor seine Messages mit einem CR (aka 0x0D aka 13) abschließt. Du solltest nur die TermChar-Erkennung aktivieren!

Ist mir jetzt wirklich peinlich. Durch das verzweifelte Rumprobieren, das irgendwann anfängt, wenn man nicht mehr weiterkommt, stellt man irrtümlich true in false. Wacko


RE: VISA Sensor auslesen - GerdW - 21.04.2021 10:13

Hallo Löwe,

und jetzt noch SpreadsheetStringToArray anstelle von StringToU8Array, um deine Werte aus dem String auszuwerten…


RE: VISA Sensor auslesen - derloewe - 21.04.2021 12:34

(21.04.2021 10:13 )GerdW schrieb:  Hallo Löwe,

und jetzt noch SpreadsheetStringToArray anstelle von StringToU8Array, um deine Werte aus dem String auszuwerten…

super, vielen Dank GerdW!