LabVIEWForum.de - Frage zur Erstellung von Arrays aus seriellen Daten

LabVIEWForum.de

Normale Version: Frage zur Erstellung von Arrays aus seriellen Daten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!

Ich bin noch LabVIEW-Neuling und habe daher eine Frage zu Arrays.
Ich möchte über die serielle Schnittstelle Daten einlesen. Diese werden in einem Protokoll gesendet. Das sieht folgendermaßen aus:

rn
Start
rn
12345678
rn
rn
10000000
10000001
10000002
10000003
rn
rn
Stop
rn

Aus diesem Protokoll lese ich die Messwerte aus und will Sie weiter verarbeiten und schließlich in einer Tabelle (Spreadsheet File) ablegen. Das Einlesen funktioniert schon und auch das Ablegen in einer Text-Datei. Das Problem ist nur, dass ich nicht weiß, wie ich an die einzelnen eingelesenen Messwerte herankomme. So wie das Programm bis jetzt aussieht schreibe ich die einzelnen Strings nacheinander in einen File. Ich möchte sie aber irgendwie in ein Array-Buffer hineinbekommen und z.B. das erste Element isolieren, da dieses für eine Formel als Berechnungsgrundlage verwendet werden will.

Wie könnte ich so etwas machen? Ich bin für jeden Ratschlag dankbar!

Danyo
das angehaengte VI duerfte evtl. eine Hilfe sein...
Hallo freedive!

Vielen Dank erst einmal für die schnelle Antwort! Jedoch hab ich noch einige Fragen:

Könntest du mir bitte den "regulären Ausdruck" beim "Muster vergleichen"-Element noch etwas erläutern? Also [-]?[.]? habe ich als Wiedergabe von vorzeichenbehafteten und Fließkomma-Zahlen interpretiert. Die [0-9] steht sicherlich für die zu filternden Ziffern. Jedoch ist mir der gesamte Ausdruck [0-9]+[.]?[0-9]* nicht klar. Bei der Beschreibung in der Hilfe bin ich irgendwie nicht durchgestiegen..
Eine weitere Frage bezieht sich auf die Erweiterung, die ich in der Datei vorgenommen habe (siehe Anhang).
Wenn ich nämlich die Daten in eine Textdatei schreibe steht hintendran immer eine 0. Hängt das vielleicht mit dem Abbruch der Schleife zusammen bzw. wenn kein Zeichen mehr gefunden wurde, welches dem "regulären Ausdruck" entspricht? Wie kann ich dieses denn schon vorsorglich entfernen?

Danyo
anbei zwei bilder (direkt aus der LabVIEW hilfe heraus kopiert) wo die Syntax recht gut erklaert ist!

Bezueglich deiner "letzten" 0 im File...
Wenn du mal ganz genau auf das Rueckgabearray schaust, wird dir auffallen, dass der letzte Index im Array zwar indiziert ist (sprich nicht ausgegraut ist) jedoch kein Wert eingetragen ist -> das ist fuer LabVIEW nicht akzeptabel! Aus diesem Grund setzt er in so einem Fall den Standardwert fuer eine Numerische Anzeige ein, die idR "0" ist!

Ausflug:
der Standardwert fuer einen String ist ein "leerer String"
der Standardwert fuer eine Boolsche Variable ist "False"
Sorry freedive,

deine expression verstehe ich auch nicht ganz.
[-]?[0-9]+ reicht doch ind diesem Fall.
Treten keine negativen Zahlen auf, kann sogar noch [-]? entfallen.

Oder sehe ich da eine Zeichenkonstellation nicht, die ich damit nicht kriege?

Gruß
Oliver
ich bin eigentlich davon ausgegangen dass nicht nur integer werte sondern auch fließkommazahlen ankommen!
sollten nur solche werte wie "123456789" ankommen, reicht dein string voellig aus...
Referenz-URLs