RS485 Problem beim Empfang

OP #4192974
Lesenswert?
• ▲
▼
Hallo,

Ich komme seit 3 Wochen mit dem folgenden Problem nicht weiter:

Ich habe ein Sensor (S),ein PC und ein programmierbares Gerät(G). Die 3 
sind kommuniziert über eine RS485 Schnittstelle.
Wobei dienst der PC nur als Überwachung er empfängt alle Daten die auf 
dem Bus fließen.
Befehle werden von der (G) zum Sensor gut gesendet. Der Sensor antwortet 
auch korrekt. Leider erkennt das Gerät abwechselnd entweder die erste 12 
Byte oder maximal die erste 24 Byte der Antwort des Sensor. Obwohl mehr 
als 5000 Byte als Antwort gesendet werden(Dies kann ich auf dem PC 
sehen). Allerdings wenn ich die 5000 Bytes von der PC sendet ließt das 
Gerät aller 5000Bytes.

Wenn der Sensor kleinere Antwort sendet, z.B. eine 50 Bytes Große, 
erkennt das Gerät alle 50 Byte.
Bei deutliche Große antwort (mehr als 1000 Byte) erkennt er nur die 
erste Byte.

Meine Frage: Woran kann das liegen?

Hab mir die Antwort des Sensors mit einem Oszilloskop angeschaut, und es 
passt mit der eingestellten Konfiguration.
Baudrate: 115,2K
Parität: Gerade
Stopbit: 1


Kann Mir Bitte jemand dabei helfen. Ich stehe seit Wochen wirklich 
fest!!

Ich bedanke mich sehr im Voraus.
Lg
OP #4193121
Lesenswert?
• ▲
▼
Helmut -. schrieb:
> Liegt wahrscheinlich am Widerstand R1234 in Zusammenhang mit C4711 oder
> am Code des Steuerprozessors in Zeile 13!
>
> Wie du aus meiner Antwort entnehmen kannst, braucht meine Glaskugel noch
> ein paar Daten, damit sie ein Ergebnis ausspuckt.

Danke für deine Antwort aber hab leider nicht verstanden.
Wenn du mit R1324 der Abschlusswiederstand meinst der habe ich nach der 
folgende Schaltung aufgebaut 
https://www.mikrocontroller.net/articles/RS-485
Gast #4193735
Lesenswert?
• ▲
▼
Sabberlotte schrieb:
> Ich vermute das von (G) die Baudrate nicht korrekt eingehalten wird

Bei zu großen Abweichungen der Baudrate werden die letzten Bits falsch 
erkannt. Da bei jedem Startbit neu synchronisiert wird, dürften davon 
nicht die Folgebytes betroffen sein.

Das sieht IMHO eher so aus, als ob der Empfänger mit der Verarbeitung 
nicht nachkommt. Was passiert, wenn man die Baudrate verringert?
(Firma: matzetronics) #4193810
Lesenswert?
• ▲
▼
Vermutlich ist dein 'programmierbares Gerät', also (G), nicht in der 
Lage, die lange Antwort des Sensors zu verarbeiten, weil
* der serielle Buffer überläuft
* der Empfang und die Parityprüfung nicht hinterherkommt
* eine andere Routine im 'Programmierbaren Gerät' dazwischen funkt und 
was anderes tun will

So wird das aber nix. Wie alle anderen schon gesagt haben, reichen die 
Infos einfach nicht aus, um da sinnvoll zu helfen.
(Firma: Vescomp) #4193904
Lesenswert?
• ▲
▼
Serge M. schrieb:
> Ich habe ein Sensor (S),ein PC und ein programmierbares Gerät(G). Die 3
> sind kommuniziert über eine RS485 Schnittstelle.
 Was ist ein programmierbares Gerat(G) ?

> Wenn der Sensor kleinere Antwort sendet, z.B. eine 50 Bytes Große,
> erkennt das Gerät alle 50 Byte.

> sehen). Allerdings wenn ich die 5000 Bytes von der PC sendet ließt das
> Gerät aller 5000Bytes.
 Dann liegt es am Sensor.

> Baudrate: 115,2K
 Geht das auch langsamer ?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.