INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

String zerlegen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

06.07.2009, 20:43 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2009 20:51 von Den.)
Beitrag #1

Den Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jun 2009

8.6
2009
de

24143
Deutschland
String zerlegen
Hallo Leute,

bitte um Hilfe!

Im Rahmen meines Projektes muss ich die Messdaten (in ASCII) aufnehmen und später visualisieren.
Beim Einschalten des Messgerätes sendet es über die serielle Schnittstelle RS-422 nonstop die Messdaten. Wenn ich die Datenaufnahme starte, dann beginnt die Aufnahme mit großer Sicherheit nicht am Anfang des Datenpaketes (siehe Abb.). Jedes Datenpaket ist 55 Stellen groß und am Ende wird CR ® angehängt.

Wie kann den String stellenweise zerlegen, um danach die Vergleichoperation anzuwenden?

   

Ich bin für jede Hilfe dankbar

Mit freundlichen Grüßen
Den
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.07.2009, 21:01
Beitrag #2

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
String zerlegen
Durchsuche den String mit "Match Pattern.vi" (auf der String Palette für das Blockdiagramm) nach r. Du erhältst dann den String vor und nach dem gefundenen Pattern. r kannst Du jedoch nicht direkt in eine String-Konstante eintragen. Aktiviere erst im Kontextmenu '' Codes Display und trage dann r als Search Pattern ein.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2009, 21:05
Beitrag #3

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
String zerlegen
Das ganze natürlich noch in eine Schleife mit Shift-Registern, so dass Du nacheinander im Deine 5 Zahlen im Block bekommt. der Block kann mit String Subset.vi zerlegt werden, wenn die Zahlen alle eine feste Stellenanzahl haben. Ansonsten anch dem Trennzeichen suchen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.07.2009, 22:02 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2009 22:13 von Lucki.)
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
String zerlegen
' schrieb:Beim Einschalten des Messgerätes sendet es über die serielle Schnittstelle RS-422 nonstop die Messdaten. Wenn ich die Datenaufnahme starte, dann beginnt die Aufnahme mit großer Sicherheit nicht am Anfang des Datenpaketes (siehe Abb.). Jedes Datenpaket ist 55 Stellen groß und am Ende wird CR ® angehängt.

Beim Starten der Datenaufnahme kann es nicht nur passieren, daß die Aufnahme mitten in einem Datenpaket beginnt, sondern es kann ebenso passieren, daß die Aufnahme mitten in einem (seriellem) Byte beginnt. Dann wird das falsche Bit für das Startbit gehalten, der Fehler wird einige Bit später erkannt und man erhält die Meldung "Frame Error".
Dieser Fehler ist abzufangen und das Starten der Datenaufnahme ist so oft zu wiederholen, bis der Fehler nicht mehr kommt. Danach sind solange einzelne Bytes einzulesen und in den Papierkorb zu schmeißen, bis CR kommt.
Dann ist alles synchronisiert und dem ersten gültigen Empfang eines ganzen Datenpaketes steht nichts mehr im Wege.

Diese Operationen bis zur Synchronisation müssen in Realtime geschehen, d.h die Stringbytes müssen einzeln gelesen und analysiert werden. Das Einlesen eines längeren Strings und Zerlegen desselben wäre nicht der richtige Weg zurm Erreichen der Synchronisation.
Erst nach Erreichen der Synchronisatin können alle Bytes eines Datenpaketes bis CR auf einmal gelesen werden.


Aber besser wäre natürlich diese Alternative: Erst den Empfänger einschalten, und dann den Sender. Dann dürfte es schon mit dem Senden des ersten Datenpaketes keine Synchronisationsprobleme geben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.07.2009, 10:35
Beitrag #5

Den Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jun 2009

8.6
2009
de

24143
Deutschland
String zerlegen
danke für eure Tipps!

In der Abbildung 1 bis 3 ist meine Messprogramm dargestellt. Das Programm funktioniert bis auf einen Fehler, welchen ich in Thema: "Umgang mit der Erzeuger/Verbraucher-Struktur" beschreibe.

Mit freundlichen Grüßen
Den


Angehängte Datei(en) Thumbnail(s)
           
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Variant in Grundtypen zerlegen LV-New 6 4.492 10.01.2022 10:55
Letzter Beitrag: LV-New
  2D Array zerlegen che-salih 37 24.051 29.10.2013 18:32
Letzter Beitrag: Y-P
  String zerlegen --> in Array lambda89 5 10.376 02.07.2013 13:58
Letzter Beitrag: Lucki
  String (XML) zerlegen TSC 12 10.619 15.05.2013 07:28
Letzter Beitrag: TSC
  String Zerlegen indem man MSB in einem Byte erkennt labuser2010 11 11.100 01.07.2010 09:08
Letzter Beitrag: GerdW
  Zerlegen eines Strings in einzelne Character FuxDancer 29 24.831 03.01.2010 16:08
Letzter Beitrag: FuxDancer

Gehe zu: