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 

Spezielles Byte nach Eingang weiterverarbeiten, RS232



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!

01.02.2012, 10:38
Beitrag #1

Maxix Offline
LV-Neueinsteiger ; )
*


Beiträge: 10
Registriert seit: Feb 2012

2010 fully loaded ; )
2012
DE

38xo0
Deutschland
Spezielles Byte nach Eingang weiterverarbeiten, RS232
Hallo,
mehr zu mir findet ihr in der Vorstellung: Klickt mich!
Ich habe noch nicht viel Erfahrung und daher teilweise sicherlich auch Fragen zu den Begriffen (wenn ich sie im Netz nicht erklärt finde). Aber trotzdem immer her damit : )
Sollte dies das falsche Unterforum sein, bitte entsprechend verschieben.

Nun zu meinem „Problem“.
Ich habe einen Stellmotor dessen Signale über einen Wandler via USB in den Rechner gelangen.
Zitat:
„Als Protokoll wird ein RS232 kompatibles Format mit 9600Baud, 1 Startbit, 1 Stoppbit, 0 Paritätsbit benutzt. Die Daten werden einmal je Sekunde ausgegeben.
Alle Daten werden in Blöcken von jeweils 7 Byte inkl. aller Steuerbytes im ASCII-Code ausgegeben.
Startbyte ist ein $, Endbyte ein Line-Feed <LF>“.

Hier ergibt sich für mich die erste Frage:
Ich habe folgende sieben Steuerbytes: H, I, J, K, L, M (kleines m bei Fehler), N
Für mich ist erst mal nur K interessant, daher werde ich alle Beispiele anhand von K schreiben.
K ist wie folgt aufgebaut:

$Kxxxx<LF>
$K – Kennung „Istposition“ des Stellmotors
xxxx - Istposition, 0x0000 bis 0x0480, (mit Begrenzung aufgrund des relativen Messsystems)
<LF> Line-Feed

Es besteht dann doch aus sieben Bits oder (<LF> (Zeilenumbruch) gilt als ein Bit?)?
Oben müsste es doch immer StartBIT und EndBIT heißen, oder?


Nun das konkrete Problem:
Ich bekomme sieben Steuerbytes je Sekunde in die Software, möchte aber nur das „$K-Byte“ verwenden (es ist das vierte, die Reihenfolge ist wie oben aufgelistet).
Wie kann ich mir dieses Byte herausfiltern, um es weiter zu verarbeiten?

Die weitere Verarbeitung nach dem erfolgreichen Herausfiltern:
Wenn ich das Byte einzeln „in den Händen halte“ möchte ich den eingehenden Wert in eine Prozenteingabe umwandeln und auf dem Panel ausgeben.
Ich könnte die Werte „0000“ bis „0480“ aufteilen und mit Schritten auf 100Prozent umrechnen.
Dies würde mir für den Anfang schon reichen!
Der Haken:
Der Stellmotor passt sich ans jeweilige Ventil an, bei dem zurzeit eingesetzten ist die maximale Öffnung z.B. „036B“. Es wäre wunderbar, wenn man sich hierfür auch eine Art „Automatik“ bzw. Einstellmöglichkeit einfallen lassen könnte. Ich erwähne es jetzt schon, da es sich ja vielleicht gleich beim Programmieren berücksichtigen ließe.

Das angehängte VI habe ich mir gebaut, um die Daten durch LabVIEW in den PC zu bekommen.
Es hat noch den Fehler, dass gelegentlich „die Daten eingelesen werden, bevor die Hardware soweit war“ (oder ähnlich, ihr wisst sicherlich was ich meine). Der Fehler ist hier im Forum auch erklärt, allerdings habe ich mich noch nicht um eine Lösung bemüht, da ich nicht sicher bin ob es überhaupt der richtige Weg ist. Testweise habe ich den Fehlerausgang auf das Beenden der While-Schleife gelegt.


Hier einmal die ganze Eingangskette (habe ich aus Hterm gezogen):
RAW/Normal Format (was ist daran „Normal“, Ist damit ASCII gemeint?):
$H138E
$É13FE
$J036B
$K0224
$L10E9
$Í5110
$N1064
O³132
Warum werden das I (zweites Byte) und das M (sechstes Byte) hier manchmal als É und Í angegeben?
Das kann ich auch in LabVIEW beobachten. („K“ war bisher wirklich immer „K“).

Hexadezimal:
2448303132410A
2449313346450A
244A303336420A
24CB303338380A
244C333637420A
244D343831300A
244E313032350A
4F333945330A0D


Auf Wunsch kann ich auch noch weitere Formate einstellen.

Es würde mich freuen, wenn wir uns gemeinsam nach und nach um meine Probleme kümmern können.

Danke

Gruß

Maxix


Angehängte Datei(en)
10.0 .vi  Dateneinlesen.vi (Größe: 13,77 KB / Downloads: 227)

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Nachrichten in diesem Thema
Spezielles Byte nach Eingang weiterverarbeiten, RS232 - Maxix - 01.02.2012 10:38

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  dynamische Byte-Anzahl einer Nachricht Gottimp 6 4.293 23.03.2021 18:15
Letzter Beitrag: GerdW
  Problem: Empfangene Byte Anzahl ändert sich MKVH28 7 6.039 26.03.2015 17:39
Letzter Beitrag: Lucki
  Byte (hex) erzeugt Timeout im VISA Lolleg 2 3.972 06.06.2014 13:26
Letzter Beitrag: Lolleg
  Jeweiliges High und Low Byte richtig zusammenfügen rookieNo.x 2 7.435 29.10.2012 18:43
Letzter Beitrag: rookieNo.x
  Delay nach jedem gesendeten Byte hans75 5 5.573 21.09.2010 16:13
Letzter Beitrag: GerdW
  VISA Read - Byte Count Wert LabVIEWDompteur 5 10.800 13.05.2009 12:13
Letzter Beitrag: rolfk

Gehe zu: