LabVIEWForum.de - Daten Pakete trennen

LabVIEWForum.de

Normale Version: Daten Pakete trennen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich empfange über ein RS232 Datenpakete, dies entspricht eine bestimmte Anzahl von Bytes , z.B. 48 Bytes.
Ein Muster des empfangenen Pakets (gelesen mit der Readfunktion) sieht so aus :

Run!


Dauer: 240 Sek

Start ZP
Chip-Temp: 277
20000 335719 2676
21000 316874 2679
22000 300234 2682
23000 284773 2685
24000 271209 2688
25000 259216 2691
Ende

Die Erste Spalte ist die Frequenz, die zweite der Betrag, die dritte die Phase.
Wie kann ich aus diesem empfangenen Paket meine Nutzdaten und zwar diese:

20000 335719 2676
21000 316874 2679
22000 300234 2682
23000 284773 2685
24000 271209 2688
25000 259216 2691

aus dem gesamten empfangenen Paket rausholen?

Vielleicht könnte jemand eine Idee haben?

LG

MJ
Hallo MJ,

alles zwischen "Chip-Temp" (bzw. nachfolgendem Zeilenende) und "Ende" ausschneiden und dann per SpreadsheetStringtoArray in Zahlen umwandeln...

Oder alles per SpreadsheetStringToArray in Zahlen umwandeln und alle Zeilen, die mit einer Null beginnen dann rauslöschen...
ich empfange das Paket als Block. wie kann ich feststellen aus dem gesamten paket dass ich an der Stelle "Chip-Temp" angekommen bin?

LG

MJ
Hallo MJ,

String Palette -> MatchPattern? Was nimmst du sonst zum String durchsuchen?
Ich bin neu in LabView und habe noch nicht viel Erfahrung mit der Software. ich noch nicht bis jetzt ein String in einem Block durchgesucht.
Das ist mein erstes Mal.
Enstspricht die Funktion "MatchPattern" der Funktion "Muster Suchen" in der Palette String?
Unter welcher Palette ist "SpreadsheetStringtoArray" zu finden?

LG

MJ
Ich würde zeilenweise einlesen (was sehr einfach ist) und solange im String-Array-Schieberegister puffern, bis der Zeileninhalt gleich "Ende" ist. Dann in einer For-Loop den Inhalt des Schieberegisters (die ersten 4 Zeichen) mit "Chip" vergleichen und falls gleich die restlichen Elemente nehmen.
Hallo MJ,

"Ich bin neu in LabView..."
Na dann aber sofort die Kontexthilfe aktivieren - da steht die engl. Bezeichnungen nämlich auch drin...
Genau das ist mein Problem. Ich überlege die ganze Zeit wie ich den ganzen Block zeilenweisen lesen kann, finde aber keine Funktion dafür.

gruss

MJ
Hallo MJ,

ReadText, Rechtsklick, Zeilenweises Lesen konfigurieren, Anzahl der zu lesenden Zeilen verdrahten...

Äh, du liest ja von RS232. Also TerminationChar korrekt setzen. Dann bekommst du immer automatisch eine Zeile pro Read-Befehl. Einfach Zeilen in einem Array sammeln...
Referenz-URLs