LabVIEWForum.de
Daten Pakete trennen - 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: Daten Pakete trennen (/Thread-Daten-Pakete-trennen)



Daten Pakete trennen - micheljoel2002 - 22.09.2010 16:00

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


Daten Pakete trennen - GerdW - 22.09.2010 16:18

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...


Daten Pakete trennen - micheljoel2002 - 22.09.2010 16:25

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


Daten Pakete trennen - GerdW - 22.09.2010 16:28

Hallo MJ,

String Palette -> MatchPattern? Was nimmst du sonst zum String durchsuchen?


Daten Pakete trennen - micheljoel2002 - 22.09.2010 16:39

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


Daten Pakete trennen - eg - 22.09.2010 16:46

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.


Daten Pakete trennen - GerdW - 22.09.2010 19:41

Hallo MJ,

"Ich bin neu in LabView..."
Na dann aber sofort die Kontexthilfe aktivieren - da steht die engl. Bezeichnungen nämlich auch drin...


Daten Pakete trennen - micheljoel2002 - 22.09.2010 20:40

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


Daten Pakete trennen - GerdW - 22.09.2010 20:44

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...