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-Stream nach Werten durchsuchen - Ziffern "verschwinden"?



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!

20.11.2011, 18:30 (Dieser Beitrag wurde zuletzt bearbeitet: 20.11.2011 18:31 von fabqu.)
Beitrag #1

fabqu Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 84
Registriert seit: May 2011

9
2011
DE



String-Stream nach Werten durchsuchen - Ziffern "verschwinden"?
Hallo!
Ich habe folgendes Problem:
Ich erhalte über eine Serielle Schnittstelle einen Stream, der in etwa so aussieht:
Code:
Bat:566
LightL:899
LightR:901
SpeedR:400
SpeedL:403
...
Das sind ADC-Werte eines Mikrocontrollers. Um sie zu plotten, durchsuche ich den Stream nach ":" und habe dahinter eine Case-Struktur, die dann je nach Vorterm "Bat", "LightL", "LightR", ... den hinter dem ":" liegenden Wert erst in eine Zahl umwandelt (VI: String nach Zahl).
Diese Zahl wird dann geplottet.

Nun endlich mein Problem: Aus irgendeinem Grund wird immer wieder (sagen wir mal einmal jede Sekunde) die letzte Ziffer meiner "LightL"-Abfrage abgeschnitten, weswegen der Messwert "LightL" z.B. zwischen Werten um 906 immer wieder auf 90 runterspringt...
in meinem Stream, den ich auch im Ganzen darstelle, ist diese Ziffer stets vorhanden.
WARUM?
Lustig ist auch, dass das wirklich nur bei "LightL" passiert und ganz selten mal bei "Bat". Die Abfrage ist aber quasi identisch zu allen anderen Darstellungen!

Danke Euch!
Fabian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.11.2011, 08:24
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: String-Stream nach Werten durchsuchen - Ziffern "verschwinden"?
Deine Informationen langen für eine fundierte Antwort nicht aus. Glas1 Und meine Glaskugel ist mal wieder kaputt. Glas2

1) Zeig mal den Sourcecode deiner LabVIEW-Leseroutine.
2) Erzähl genau, was für Strings dein Microcontroller sendet. Vor allem, wie sind die einzelnen Werte voneinander getrennt.

Gruß, Jens

P.S.: Verschoben nach VISA.

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2011, 09:16 (Dieser Beitrag wurde zuletzt bearbeitet: 21.11.2011 09:24 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: String-Stream nach Werten durchsuchen - Ziffern "verschwinden"?
Hallo Fabian,

also bei mir wird immer exakt am ":" getrennt:
   

Ansonsten:
- Ist dein String, den du da parst, immer vollständig?
- Zur Kontrolle kannst du ja auf vollständige Zeilen testen (sprich: Test auf Zeilenende-Zeichen)...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2011, 14:30
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
RE: String-Stream nach Werten durchsuchen - Ziffern "verschwinden"?
Liest du denn überhaupt zeilenweis aus dem seriellen Empfangspuffer aus? (Serial Config: EndTerm aktivieren).
Wenn Du stattdessen immer nur soundsoviele Byte liest, kannst Du nicht erwarten, daß das letzte gelesene Byte immer das Ende einer Zeile ist. Sehr beliebt ist bei Anfängern auch die unpassende Verwendung von "Bytes on Board" mit anschließendem Auslesen dieser Bytes. Wenn ich das sehe, wird mir immer ganz schlecht Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2011, 16:49 (Dieser Beitrag wurde zuletzt bearbeitet: 21.11.2011 16:50 von fabqu.)
Beitrag #5

fabqu Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 84
Registriert seit: May 2011

9
2011
DE



RE: String-Stream nach Werten durchsuchen - Ziffern "verschwinden"?
So, hier mal, was ich mache. Nur in der kurzen Form, der Rest ist ja wurst!

Die Abfrage nach dem Zeilenende habe ich jetzt erst hinzugefügt, hat aber nichts geändert am Problem. Eine Kopie des Streams, den ich erhalte, habe ich auch mal angefügt.

Ich versteh es wirklich nicht Sad
Vor allem, weil es wie geasgt nur an einem dieser Werte hakt, nämlich am "LightL"-Wert, alle anderen humpeln nicht ständig herum.

Lg


Angehängte Datei(en)
9.0 .vi  Unbenannt 1.vi (Größe: 26,59 KB / Downloads: 161)

9.0 .vi  RP6 Communicaton.vi (Größe: 10,9 KB / Downloads: 177)

0.0 .txt  Stream.txt (Größe: 6,35 KB / Downloads: 205)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2011, 16:58 (Dieser Beitrag wurde zuletzt bearbeitet: 21.11.2011 17:02 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: String-Stream nach Werten durchsuchen - Ziffern "verschwinden"?
Hallo fabqu,

wie sagte Lucki schon so schön:
Zitat:Sehr beliebt ist bei Anfängern auch die unpassende Verwendung von "Bytes on Board" mit anschließendem Auslesen dieser Bytes. Wenn ich das sehe, wird mir immer ganz schlecht

- Warum also BytesAtPort?
- Warum bei jeder Iteration den ComPort neu öffnen (VISA-Open)?
- Musst du wirklich ein RTS generieren?
- Musst du wirklich in jeder Iteration die Baudrate neu setzen?
- Wo wird dein COM-Port initialisiert?
- Einfach mal die Threads hier zum Thema "Serieller Port" durchlesen!
- Dein Test auf Zeilenende dürfte nutzlos sein, da du den String "\n" suchst. Du meinst sicher die Konstante LF oder auch "\n" in Slash-Code-Darstellung!

- Aufräumknopf benutzen!
- Wozu die lokalen Variablen, wenn die Terminals ungenutzt herumliegen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.11.2011, 18:23
Beitrag #7

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: String-Stream nach Werten durchsuchen - Ziffern "verschwinden"?
Tschuldigung, bei meinen "Bytes on Board" hatte ich wohl eher den Aufkleber "Baby on Board" im Sinn als die "Bytes at Port" der seriellen Schnittstelle Confused
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2011, 19:24
Beitrag #8

fabqu Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 84
Registriert seit: May 2011

9
2011
DE



RE: String-Stream nach Werten durchsuchen - Ziffern "verschwinden"?
Ok, Ok, ich sehe ja ein, dass das alles nicht wirklich sauber ist, was ich so tue...
Aber das hat doch alles nix mit dem Problem zu tun, oder?

Denn wie gesagt, der Stream ist da und ist eins-a in Ordnung. Es klappt ja auch wirklich alles, bis auf diese Blöde Ziffer, die mir bei "LightL" immer verschwindet.

Ich versuche das alles umzusetzen, was ihr so geschrieben habt.
Aber wo liegt nun das Problem???
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2011, 21:58
Beitrag #9

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: String-Stream nach Werten durchsuchen - Ziffern "verschwinden"?
Bau erst einmal die Leseroutine um:
   
Da dein Mikrocontroller jede Zeile mit einem newline abschließt, solltest du auch immer eine ganze Zeile auf einmal einlesen. Das geht mit der gezeigten Konfiguration der Schnittstelle VOR der Schleife (nicht drinnen) ganz einfach.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2011, 22:21
Beitrag #10

fabqu Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 84
Registriert seit: May 2011

9
2011
DE



RE: String-Stream nach Werten durchsuchen - Ziffern "verschwinden"?
Sehr gut, danke dir!
Wird gleich morgen umgesetzt.

Werde mich melden, ob das Problem weiterhin ebsteht!

Vg,
Fabian
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
  Live Stream Bild von Simatic SPS Panel Sam789 8 5.196 23.07.2013 07:56
Letzter Beitrag: Y-P
  Serielle Schnittstelle einlesen und suchen nach gewissem String Daniel1976Duesentrieb 1 4.078 16.04.2010 06:40
Letzter Beitrag: Y-P
  String nach VISA skywalker 1 6.519 27.01.2010 08:06
Letzter Beitrag: Y-P
  vi stürzt bei "Durchsuchen..." der FieldPoints ab insertcoin 0 2.682 28.08.2008 07:48
Letzter Beitrag: insertcoin
  problem beim xy graph erstellen (nach string) Mario1989 8 7.503 18.04.2008 09:03
Letzter Beitrag: Mario1989

Gehe zu: