!!

Willkommen Besucher...

...um das das LabVIEWForum.de als Benutzer in vollem Umfang nutzen zu können, ist eine kostenlose Registrierung nötig...
Registrierte Benutzer können Beiträge schreiben, Dateien uploaden, Beiträge lesen :) uvm.


Antwort schreiben 
Kommunikation zwischen Host & sbRio via Funkverbindung (FTDI)
17.01.2012, 14:54
Beitrag #1

NILVuser Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Aug 2011

LV-Version: 2010
LV-Erfahrung seit: 2011
LV-Sprachversion: EN



Kommunikation zwischen Host & sbRio via Funkverbindung (FTDI)
Verwendete Hardware:
- sbRIO 9642
- APC 220 Radio Data Module

Ich habe folgendes Problem:
Ich möchte vom PC via Funkmodul mit der sbRIO kommunizieren. Die Funkmodule sind auf beiden Seiten via COM-Schnittstelle angeschlossen. Nun möchte ich Steuerbefehle vom PC auf die RIO schicken, und umgekehrt möchte auch von der RIO auf den PC Informationen schicken. Dies funktioniert auch soweit. Allerdings habe ich das Problem, dass der String (den ich ja schicken muss) nicht immer richtig ausgelesen wird. Um das Problem zu veranschaulichen möchte ich Ihnen ein Bsp. geben.

Ich verwende aktuell 4x H-Brücken. Von jeder H-Brücke interessieren mich genau 5 Werte (PWM Wert [0...50µs], Direction, Reset, FF1+FF2 (Fehlerzustände). Die ersten 3 Werte möchte ich vom PC an die RIO senden und FF1,FF2 + 3x Werte von Akkuspg. möchte ich von der RIO auf den PC senden. Hierfür muss ich die Daten vor dem Sendevorgang in einen String umwandeln.

Würde dann zB. so aussehen
PC: 10 TRUE TRUE; 20 FALSE FALSE, 30 TRUE FALSE, 40 FALSE TRUE; ....wäre zB. der konzentrierte String mit den Daten PWM-Wert, Direction, Reset vom PC
RIO: 7,4 FALSE FALSE; 7,6 FALSE FALSE; 8.0 FALSE TRUE; ....wäre zB. der konzentrierte String mit den Akkuspannungen + FF1, FF2 von der RIO

Wenn ich jetzt eine solche Folge über das Funkmodul schicke, dann ist es teilweise so, dass der String nicht richtig gelesen wird, soll heißen, dass die Reihenfolge nicht bestehen bleibt, sondern die Zeichen sich verschieben. Demzufolge kann ich dann den String nicht wieder in die einzelnen Datentypen zerlegen. Genau hier besteht das Problem. Je nachdem wie lange der konzentrierte String wird, kommt es beim Empfangen in der Zeichen-Reihenfolge zu einem durcheinander. Die Abfrage der COM-Schnittstelle des HOST.vi und RIO.vi befinden sich klarerweise in einer While-Schleife. Beide While-Schleifen sind mit einem "LoopTimeVI" versehen mit jeweils 70ms. Wenn ich diese zB. auf 300ms erhöhe, tritt das Problem nicht, was aber auch keine Lösung darstellt.
Meines Erachtens besteht hier ein "Timing"-Problem. Strings mit der Länge von 50-100 Zeichen sollte doch in 70ms problemlos auszulesen sein mit einer Baud von 9600, oder liege ich hier falsch. Zum Schreiben/Lesen der COM-Schnittstellen benutze im wesentlichen dasselbe wie es unter "Find Examples" zu finden ist.

Ich hätte mir gedacht, dass es möglicherweise daran liegt, dass die beiden Whileschleifen nicht zum selben Zeitpunkt starten, also nicht synchronisert sind. Anbei gleich die Frage ob es eine Möglichkeit gibt zu gewährleisten das HOST.vi und RIO.vi zu synchroniseren.

Ich hoffe ich es kann mir jemand weiterhelfen.

Schöne Grüße
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
  sbrio rs232 Criso 3 174 03.05.2012 17:25
Letzter Beitrag: jg
  sbrio ip konfigurieren Criso 1 130 23.04.2012 16:47
Letzter Beitrag: jg
  Kommunikation zwischen RT-Target und Host-PC Cillinar 0 732 10.11.2011 10:29
Letzter Beitrag: Cillinar
  sbRio 9632 Typ 9 1.089 25.07.2011 14:44
Letzter Beitrag: jg
  cRIO Deployen vom Host Martin Heller 12 2.438 30.11.2010 09:48
Letzter Beitrag: Matze
  cRIO - VI via Host (PC) starten Martin Heller 8 2.446 17.11.2010 11:42
Letzter Beitrag: Matze

Gehe zu: