LabVIEWForum.de - Datenerfassung Durchflussmessung

LabVIEWForum.de

Normale Version: Datenerfassung Durchflussmessung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
im Zuge meiner Abschlussarbeit muss ich mich nach längerer Zeit wieder etwas mit Labview beschäftigen.

Ich soll einen Versuchsstand mit Volumenstrommessung aufbauen. Hierfür habe ich einen etwas älteren Magnetisch-induktiven Durchflussmesser der Firma "Badger Meter" bekommen welcher sich über RS232 auslesen lässt.

Im Terminal funktioniert dies auch soweit:
Zitat:Q~ 0.000 l/min
æ~ 172438.97 l
æ^ 0.73 l
V2.074d 12.08.01
Dies wiederholt sich ca. jede Sekunde.

Meine Idee war nun als Abschlusszeichen das "n" (Ascii 110) von "min" zu definieren, da ich nur die Daten der Zeile 1 brauche. Die vorherigen Zeichen will ich mir dann ausgeben lassen. Leider erscheinen mir oft im Ausgabefenster Teile der anderen Zeilen oder völlig andere Zeichen. Öfter erscheint auch folgender Fehler "Während der Übertragung ist ein Überlauffehler aufgetreten. Ein Zeichen wurde nicht vor dem Eintreffen des nächsten Zeichens von der Hardware gelesen. "

Ich bin jetzt schon ein Weilchen am herumtüfteln und komm leider nicht weiter. Dies ist auch eins der ersten Dinge die ich seit langem mit Labview mache und RS232 war bisher noch nie dabei.

Ich hoffe ihr könnt mir helfen. Schon mal danke im Voraus.

Gruß
Christoph
Wenn dir das Gerät die Zeichenkette abc sendet, du aber nur ab liest verbleibt c im Puffer. Entweder du liest den Puffer leer oder leerst ihn explizit (VISA: I/O-Puffer entleeren). Weiterhin öffnest du den Port und liest nur 9 Zeichen. Der Port bleibt offen und niemand holt den Schrott aus dem Puffer ab. Das Abschlusszeichen verwendest du gar nicht. Du musst eine Schleife um "VISA: Read" bauen und dort mittels
"VISA: Auf Ereignis warten (Funktion)" die Schleife "triggern".
Außerdem nehme ich nehme stark an, dass das Gerät ein Abschlusszeichen benutzt (meist 0xA und/oder 0xD oder 0x03 (ETX)), welches im normalen Datenstrom nicht vorkommt. Hierfür am besten das Handbuch befragen oder stumpf den Puffer auslesen und das ganze lokal speichern. Denn dann hast du auch das Abschlusszeichen gelesen und kannst es dir in der String-Anzeige darstellen lassen. Aber Vorsicht, das Abschlusszeichen ist wahrscheinlich ein nichtdarstellbares Zeichen, weswegen du vorher die Anzeige auf "\"-Code-Anzeige umschalten musst.
Danke, das der Puffer überläuft war der wichtige Hinweis für mich. Das mit dem Triggern hab ich allerdings jetzt nicht hinbekommen, es läuft allerdings trotzdem und das ist erstmal das wichtigste für mich.
Referenz-URLs