RS485 unter Linux in bidirektionaler Richtung

Gast #3029040
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich teste momental folgendes Setup und bin irgendwie am verzweifeln:

PC1 -> FTDI -> RS485-Pegelwandler ~~~~~~ (2-Wire) ~~~~> 
RS485-Pegelwandler -> RS485-Port -> PC2

Mein Vorgehen:

1. Mit 'getty' auf beiden Geräten die selbe Baudrate setzen
2. "Kermit" oder vergleichbarem an beiden Seiten ein Terminal öffnen
3. Versuch Text-Strings mittels Tastatur hin und her schicken

Problem:

Es ist nur möglich, Strings von PC1 -> PC2 zu schicken. PC2 -> PC1 
funktioniert nicht. Es gibt keine kritischen Ausgaben im syslog bzw. 
kernlog.

Meine Frage:

Hab ich hier irgendwie vergessen ein Flag zu setzen oder liegt der Bug 
wo anders?


Über Hilfe wäre ich sehr dankbar!
Gast #3029115
Lesenswert?
• ▲
▼
Mir fällt gerade ein: Einen Verdrahtungsfehler und einiges mehr, kannst 
Du leicht feststellen.
Alles 1:1 Tauschen. Konverter, Kabel, Befehlsfenster. Geht es dann nur 
in die andere Richtung, so ist's die sehr wahrscheinlich die Hardware.
Gast #3029203
Lesenswert?
• ▲
▼
amateur schrieb:
> Es kommt auch ein einfacher Verdrahtungsfehler infrage. Die Sende- und
> Empfangsleitung sind differentiell und daher jeweils 2-Adrig.

Ich habe alle Verbindungsarten durchiteriert ...

Salb & Quack schrieb:
> Ich wuerd nochmals ein Leiterpaar spendieren fuer die andere Richtung.

Wir betreiben die Leitung Half-Duplex, daher sollte es mit zwei 
funktionieren. Für Full-Duplex benötigt man 4.


Rufus Τ. Firefly schrieb:
> Die USB-UARTs von FTDI sehen eine Hardwareunterstützung für die
> Sender-/Empfängerumschaltung bei der Ansteuerung von RS485-Treibern vor.
> Wird die hier genutzt?

Aufbau ist folgender auf PC1-Seite:

USB ~~~~~> FTDI ~~~~~ (RS232) ~~~~~> MOXA-RS485-Pegelwandler

Der Moxa-RS485-Pegelwandler hat eine externe Stromversorgung. Er ist 
auch korrekt parametriert (DIP 1-2: on, DIP 3: off).

Wie aktiviere ich die Umschaltung auf Seiten von Linux? Ich glaub, das 
ich hier etwas zu verwöhnt von RS485 bin :-)
Gast #3029238
Lesenswert?
• ▲
▼
atmeltierchen schrieb:
> RS485-Pegelwandler ~~~~~~ (2-Wire) ~~~~>
> RS485-Pegelwandler -> RS485-Port -> PC2

siht das nciht eher so aus:

> RS485-Pegelwandler ~~~~~~ (2-Wire) ~~~~>
> RS485-Pegelwandler -> RS232-Port -> PC2

Das hat mit dem Betriebssystem auch nichts zu tun, auch das Programm ist 
(erstmal) wurscht.

RS485 ist ein One Way verfahren bei dem die Richtungsumschaltung in 
Software gemacht werden muss (Trickschaltungen mal außer acht gelassen).

Wie ist diese bei deinem Aufbau realisiert (z.B. RTS/CTS leitungen von 
RS232).
Persönliche Seite #3029248
Lesenswert?
• ▲
▼
atmeltierchen schrieb:
> Aufbau ist folgender auf PC1-Seite:
>
> USB ~~~~~> FTDI ~~~~~ (RS232) ~~~~~> MOXA-RS485-Pegelwandler

Das ist Murks, weil eben genau das zur Richtungsumschaltung von der 
Hardware des FTDI-Bausteines erzeugte Signal so unterschlagen wird.


Sieh Dir das Datenblatt des FT232 an, darin ist eine Beispielschaltung, 
wie so etwas korrekt aufgebaut wird.
Gast #3029254
Lesenswert?
• ▲
▼
> MOXA-RS485-Pegelwandler

Welcher?

atmeltierchen schrieb:
> Wie aktiviere ich die Umschaltung auf Seiten von Linux? Ich glaub, das
> ich hier etwas zu verwöhnt von RS485 bin :-)

In der Regel über Statusleitungen (RTS  CTS oder DSR  DTR).

bei Linux kenn ich das nicht, bei Windows wird das im Gerätemanager 
eingestellt oder über Software falls diese das Unterstützt.
Gast #3029359
Lesenswert?
• ▲
▼
atmeltierchen schrieb:
> TCC-80

Hangt an beiden Seiten ein Moxa?

Der macht lt. manual auto direction control, geht also mit jedem 
Termninal Programm.

atmeltierchen schrieb:
> Er ist auch korrekt parametriert (DIP 1-2: on, DIP 3: off).

Warum hast du den Abschlusswiderstand ausgeschaltet? Hängen da noch mehr 
RS485 Devices dran. Beim letzten sollter der ON sein.


Danach das übliche Procedere bei seriellen Schnittstellen.

- Datenrate
- Bits
- Stop Bits

müssen geich sein

- Handshake XON/XOFF | DTR/DSR aus.

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.