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 

Serielle Schnittstelle - zu viele Bytes



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!

03.05.2006, 09:57
Beitrag #1

LV_Newbie Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Apr 2006

6.1
-
kA


Oesterreich
Serielle Schnittstelle - zu viele Bytes
Hallo
Ich erhalte über die serielle Schnittstelle 8000 Werte im Bereich zwischen 0 und 255.
Dazu verwende ich die Funktion "Bytes at seriell port" und danach "serial port read".
Nun erhalte ich aber meine Werte so schnell, dass dabei ca. 4096 Bytes anliegen (ermittelt durch die Funktion bytes at seriell port). Dies wird allerdings dann als String von unglaublicher Länge als gesamtes präsentiert.
Dies soll jedoch nicht sein, sondern ich möchte immer einzelne Strings mit gleicher Breite und im Bereich 0 bis 255.

Bitte keine Empfehlungen in Richtung VISA. Muss so realisiert werden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2006, 10:25
Beitrag #2

oppossom Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 151
Registriert seit: Mar 2006

6.1:7.0
2003
kA


Oesterreich
Serielle Schnittstelle - zu viele Bytes
Zitat:... ich möchte immer einzelne Strings mit gleicher Breite und im Bereich 0 bis 255.
Du könntest den String nach dem Einlesen zerteilen (mit gleicher Breite) und die Einzelstrings anschließend weiterverarbeiten...

Lg Stefan
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2006, 10:29
Beitrag #3

LV_Newbie Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Apr 2006

6.1
-
kA


Oesterreich
Serielle Schnittstelle - zu viele Bytes
oppossom schrieb:
Zitat:... ich möchte immer einzelne Strings mit gleicher Breite und im Bereich 0 bis 255.
Du könntest den String nach dem Einlesen zerteilen (mit gleicher Breite) und die Einzelstrings anschließend weiterverarbeiten...

Lg Stefan

Nein das ist nicht möglich. Zumindest weiß ich nicht wie.

Gleiche Breite war vielleicht falsch ausgedrückt.
War so gemeint 0 = 00000000, 255 = 11111111, also immer 8Bit breit.

Direkt den String alle 3 zeichen splitten geht also nicht.

Der String schaut cirka so aus: 17025524301702552430170....
allerdings nicht immer gleiche Werte

Ich möchte das direkt ein String-> verarbeiten, der nächste-> verarbeiten, ...
also 170 weitere Bearbeitung
255 ...
243 ...
0 ...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2006, 11:21
Beitrag #4

oppossom Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 151
Registriert seit: Mar 2006

6.1:7.0
2003
kA


Oesterreich
Serielle Schnittstelle - zu viele Bytes
Hilf dir das ein bisschen weiter?

Lg Stefan


Angehängte Datei(en)
Sonstige .vi  string_zergliedern.vi (Größe: 26,34 KB / Downloads: 273)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2006, 11:33
Beitrag #5

LV_Newbie Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Apr 2006

6.1
-
kA


Oesterreich
Serielle Schnittstelle - zu viele Bytes
Danke sehr, trotzdem habe ich noch ein paar Fragen!

Wenn ich es richtig verstehe:
Du überprüft ob es sich um eine Zahl kleiner Hundert handelt oder nicht! Was passiert wenn meine Zahl jedoch 50 ist. Dann dürfen weder 2 Zeichen noch 1 Zeichen in das Array geschrieben werden!
Das berücksichtigt dein Program nicht, oder? Hab ich das richtig verstanden?

Wozu muss man vorne ein Array erzeugen? Das blaue Array ganz links. Ist das zwingend nötig?
Prinzipiell kann ich es ja auch direkt auf das Array legen. Mittels "Enable Indexing"
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2006, 12:13
Beitrag #6

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Serielle Schnittstelle - zu viele Bytes
Hallo,

also ich verstehe was nicht.
Ist die Zahl 11111111b nicht gleich 'ÿ'?

Wenn ja, dann soll dein String anders aussehen. Bist du sicher, dass du diesen String emfängst?

Ich wollte eigentlich "String to Byte Array" vorschlagen, aber mit deinem String würde es nicht gehen.

Ansonsten ist es unbekannt wie deine Zahlen aussehen:
170255 kann 170 255 bedeuten, aber auch z.B. 17 0 25 5


Gruss, Eugen
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.05.2006, 12:29
Beitrag #7

LV_Newbie Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Apr 2006

6.1
-
kA


Oesterreich
Serielle Schnittstelle - zu viele Bytes
eugen graf schrieb:Hallo,

also ich verstehe was nicht.
Ist die Zahl 11111111b nicht gleich 'ÿ'?
Rein Registermäßig betrachtet ist 11111111=0xFF=255
Es geht mir hier nicht um irgendwelche Zeichen sondern rein um die Zahlenwerte.


eugen graf schrieb:Wenn ja, dann soll dein String anders aussehen. Bist du sicher, dass du diesen String emfängst?
Ja vom Prinzip her schon. Es sind immer 4 WErte hintereinandergereiht, dann kommt der nächste Block. Nur irgendwie packt LabVIEW das Ganze in einen String. Es sollte jedoch für jeden Wert (0 bis 255, jeder WErt möglich) ein einzelner String entstehen!


eugen graf schrieb:Ansonsten ist es unbekannt wie deine Zahlen aussehen:
170255 kann 170 255 bedeuten, aber auch z.B. 17 0 25 5
Ja das ist das größte Problem.
Nur wie erkenne ich das?

Das Beste wäre wenn LabVIEW das Ganze nicht in einen String packt. Dann würde langwierige nachfolgende Aufschlüsselung des Strings erspart bleiben. Dann könnte ich direkt den einzelnen String weiterverarbeiten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2006, 12:42
Beitrag #8

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Serielle Schnittstelle - zu viele Bytes
Das kannst du gar nicht erkennen.
Es muss ein Trennzeichen dazwischen, oder die Zahlen müssen immer die gleiche Länge haben (z.B. mit 0 gefüllt).

Wie gesagt, wenn du nicht sicher bist, wie dein String aussieht, probiere die Umwandlung vom String in ein Byte-Array.

Gruss, Eugen
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2006, 12:49
Beitrag #9

LV_Newbie Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Apr 2006

6.1
-
kA


Oesterreich
Serielle Schnittstelle - zu viele Bytes
[quote=eugen graf][q.uote="LV_Newbie]Ja das ist das größte Problem.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2006, 13:09
Beitrag #10

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Serielle Schnittstelle - zu viele Bytes
Kannst du wirklich die Gegenstelle programmieren? Habe ich richtig gehört?

Dann musst du es schaffen, dass dein String ungefähr so aussieht:

ªnšn§Ù9ºÏW0nã•_$åRÄ»§”ôøq¤J2×ÝNÖê?² Ó`½Ý䯧]ß±Å|7”ð5d
”–¯v§«iO¦ä£¶5ÏÓ $ÝT÷«¿çv6¾4S/ÍÔK3õÙ ti¦^š©—f꥙ú´]š©—fêój¦¶»?”?õ WNKë™Vž³ÙI•'ª<…N½W‚|ÓX9±‰ò£â8•·8zYPP°èî¯>…=.Š?ˆ,I·ž,

Dann ist es ein binäres Stream. So kannst du diesen String in LV direkt in Byte Array umwandeln und hast direkt die Zahlen. Du brauchst dann keine Trennzeichen hinzuzufügen.

Gruss
Webseite des Benutzers besuchen 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
  VISA Read und Bytes at Port tanka 9 13.945 28.08.2019 08:10
Letzter Beitrag: Lucki
  Serielle Schnittstelle: Unterschied zwischen FIFO-Buffer und VISA-Buffer Exle 4 7.153 23.01.2019 08:07
Letzter Beitrag: Ratio
  Serielle Schnittstelle hängt nach gewisser Zeit auf Kiesch 8 10.611 08.01.2018 11:06
Letzter Beitrag: Kiesch
  Serielle Schnittstelle bricht ab -cosmo- 7 7.705 28.09.2017 12:13
Letzter Beitrag: Lucki
  Serielle Schnittstelle usbser.sys BlueScreen Hachiko 18 19.501 03.04.2014 20:53
Letzter Beitrag: hyla
  VISA Read liest nicht alle Bytes von Bytes at Port numumba 2 7.081 21.01.2014 20:24
Letzter Beitrag: numumba

Gehe zu: