Jump to content

Daten über RS232 sind kaputt


Recommended Posts

Ich hake mich hier mal mit ein.

Bei mir tritt das Problem der defekten Daten ebenfalls auf. ABer nicht immer.

Die Schnittstelle wird zur Komunikation mit einem PC-Programm genutzt.

 

So wie ich es bis jetzt mitbekommen habe kommt es ab und zu dazu, das die Schnittstelle nicht mit den korrekten Einstellungen arbeitet obwohl diese beim Auslesen korrekt sind. Wenn ich dann das Programm noch einmal neu starte funtioniert dann alles korrekt. Hab es getestet in dem ich an der Gegenstelle ein Terminalprogramm hab laufen lassen und geschaut hab was empfangen wird.

 

Es scheint mir fast ein API Problem zu sein. Ich nutze die C++ API da mein Programm in C++ geschrieben wird und auf dem RED läuft.

 

Tante Edit sagt:

 

Es ist auch aufgetreten das die Einstellung mitten drin weg sind.

Also wärend des Betriebes.

Link zu diesem Kommentar
Share on other sites

  • Replies 53
  • Created
  • Letzte Antwort

Top Posters In This Topic

Hi,

 

also ich hatte nun ohne weitere Tests das Bricklet an der Anlage laufen.

- einmal hatt sich die Anlage aufgehängt

- ein anderes mal sind nach 2 Tagen Laufzeit mit korrekten Daten wieder Schrottdaten gekommen. Allerdings anders schrottig; so ca. jeder 5-10 te Buchstabe war dann ein Punkt und die Länge hat noch so lala gepasst. Interessant war da auch, dass der Brickv gar keine Details mehr zum Red Brick angezeigt hat, er hat nur noch ewig aktualisiert. Nach einem Reboot ging es wieder. 2 Tage Laufzeit scheint eine Schallmauer bei meinem Aufbau zu sein.

 

Ich hoffe ich komme dieses WE zu den versprochenen Messungen und Tests. Mittlerweile liegt auch ein galvanischer Trenner  und ein USB-COM Adapter zuhause rum mit denen ich weiter testen kann.

Link zu diesem Kommentar
Share on other sites

FlyingDoc, wir haben gerade kurz in den Bricklet Code geschaut. Da ist auf den ersten Blick aber keine Möglichkeit drin, dass sich die Einstellungen im laufenden Betrieb von selbst ändern.

 

Kannst du Testen, ob es wirklich, dass Neusetzen der Konfiguration ist, dass das Problem behebt? Oder ob es doch irgendetwas anderes ist, dass du beim Start deines Programms machst?

Link zu diesem Kommentar
Share on other sites

FlyingDoc, mit welchen Einstellungen nutzt du das Bricklet und hast du am PC noch eine richtige RS232 Schnittstelle, oder nutzt du eine weiteres RS232 Bricklet oder einen USB RS232 Adapter?

 

Doncarlos' Einstellungen kenne ich schon.

 

Ihr habt beide einen ähnlichen Aufbau, wenn ich das richtig verstehe. Also RED Brick mit Master Brick und RS232 Bricklet. Das RS232 Bricklet wird dann zur Kommunikation mit einem anderen RS232 Gerät (Heizung bzw. PC) genutzt.

 

Welche RS232 und Bricklet Kabellängen benutzt ihr?

 

Hintergrund ist, ich will hier mal einen Langzeittest aufbauen, um zu sehen, ob ich das Problem reproduzieren kann.

Link zu diesem Kommentar
Share on other sites

Meine RS232 Signale werden über ein 1m Cat5e Kabel zum Adapter/RS232Bricklet geführt.

Das Bricklet ist mit einem 10cm Kabel am Master befestigt. Der Master steckt direkt am RED Brick.

 

Ich könnte anbieten gewisse Ereignisse und Sachen mitzuloggen und so den Langzeittest zu unterstützen. Was mir in meinen Logs aufgefallen ist, dass die Verbindung oft wegbricht; dank "robustem" Ansatz mit Enumerierungs Event etc ist das ja egal; Aber warum bricht die Verbindung überhaupt weg ? RED+Master+RS232 sind ja fest miteinander verbunden.

 

Mhh..  bisher hatt eich nur den CPU/Speicher Verlauf meines eigenen Programs im Blick, vielleicht sollte ich auch mal einen Blick auf den Brickd werfen.

Link zu diesem Kommentar
Share on other sites

Hallo,

 

etwas schlauer bin ich jetzt auch.

Ein bestellter Optokoppler bringt die Anlage sofort zum abschalten=> bringt also nichts

 

irgendwelche Fehlspannungen oder sowas konnte ich nun auch nicht messen; die Masse ist auch durchgehend bis zum RED Brick

 

ein bestellter USB-COM Adapter bringt auch den Laptop in die Lage ohne Probleme die Signale zu lesen.

 

An der Stelle bin ich raus, das scheint ein elektrisches Problem zu sein....

Link zu diesem Kommentar
Share on other sites

Ich habe hier jetzt seit einer Weile einen Test laufen in dem das RS232 Bricklet alle 500ms eine Heizungsnachricht mit 19200 Baud 8N1 ohne Flowcontrol an meinen PC über ein FTDI Kabel sendet.

 

Nach 6 bis 36 Stunden kommt die Heizungsnachricht nicht mehr korrekt an, sondern die einzelnen Zeichen sind teilweise durcheinander gewürfelt oder fehlen. Es kann auch sein, dass nur noch nicht-ASCII Zeichen mit Werten über 127 ankommen.

 

Wir haben das jetzt soweit durchverfolgt, dass wir sicher sind, dass die Daten beim RS232 Chip auf dem Bricklet noch richtig ankommen, sie aber auf der RS232 Seite des Chip nicht wieder richtig herauskommen. Sprich irgendetwas veranlasst den Chip nicht richtig zu funktionieren.

 

Eine weitere Feststellung ist, dass ein Reset des Bricks das Problem behebt. Ein bloßes Neusetzen der Konfiguration hat keinen Effekt. Es ist auch kein Problem mit der Baudrate.

 

Wir müssen das noch weiter Debuggen, da es aber teilweise 36 Stunden dauert das Problem zu erzeugen wird sich das leider noch etwas hinziehen.

 

Komisch ist dabei, das wir in unseren Tests während der Entwicklung des Bricklets dieses Problem nicht hatten. Wir haben dort allerdings auch ständig Daten in beide Richtungen gesendet. In euren beiden Fällen ist das Bricklet jedoch entweder nur Empfänger oder nur Sender. Möglicherweise hat das etwas mit dem Problem zu tun. vielleicht aber auch nicht, dass ist noch zu testen.

Link zu diesem Kommentar
Share on other sites

Den Master Brick resetten wir per Reste Knopf am Brick, oder Reset Knopf im Brick Viewer. Während des Resets passieren eine Reihe von Dinge. Wir versuchen gerade herauszubekommen was genau das Problem wieder beseitigt. Wie gesagt, dauert das leider recht lange.

 

FlyingDoc, du könntest in deinem Aufbau testen, ob es hilft, wenn der PC periodisch irgendwelche Daten an den RED Brick sendet über RS232, damit nicht nur der RED Brick durchgehend sendet. Sprich ob das Problem wirklich damit zusammenhängt, dass dauerhaft nur in eine Richtung Daten gesendet werden.

Link zu diesem Kommentar
Share on other sites

Hi,

also ich hab nun hier einen Raspi3 vor mir liegen und hatte bis gerade eben noch ein ähnliches Problem. Allerdings war dort schon nach 2-3 Sekunden nur noch Blödsinn gekommen.

Nach etwas Suchen hat sich beim neuen Raspi wohl etwas mit einem internen Taktgeber geändert. Ich hab das so verstanden, dass wenn der aus dem gleichgewicht kommt, eben die Nachricht auch dahin ist.

Link zu diesem Kommentar
Share on other sites

  • 3 weeks later...
  • 3 months later...

Ich habe ein ähnliches Verhalten beim Senden.

 

Aus AA 01 02 00 DE B1 wird manchmal AA 01 xx 00 xx B1 oder auch EA C1 80 F1

Baudrate ist auch bei mir relativ genau 57628 anstelle von 57600

ich verwende keine flow controll

 

Bei mir ist das Verhalten ab dem zweiten mal verbinden zum bricklet und senden (2x) beim brick viewer selbst konnte ich das so noch nicht reproduzieren aber sobald der fehler da ist betrifft er auch den brickviewer

Ich versuche noch herauszufinden wie sich das mit dem verbinden und trennen aus meinem Programm auswirkt. Dann könnte man das Problem wesentlich schneller lösen :)

 

nach einem reset passt wieder alles für 1 mal.

 

Zum empfangen verwende ich einen loopback adapter (mit einem logger dazwischen). Die empfangenen Daten entsprechen den gesendeten (die falsch sind)

Link zu diesem Kommentar
Share on other sites

  • 1 month later...
  • 2 weeks later...

Alle paar Wochen ist vielleicht etwas übertrieben, aber durchaus mehrere Tage.

 

Das RS232 Bricklet ist potentiell vom Plugin Ladeproblem betroffen, das in den aktuellen Brick Firmwares behoben wurde.

 

Ich hatte das Bricklet an einem Master Brick mit Firmware 2.4.1 jetzt eine ganze Woche ohne Problem laufen. Das Problem könnte also behoben sein.

 

Bitte testet eure Aufbauen mit der jeweils aktuellen Brick Firmware noch mal.

 

Sorry, dass das hier so schleppend voran geht :(

Link zu diesem Kommentar
Share on other sites

  • 4 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.


×
×
  • Neu erstellen...