Forum: PC Hard- und Software RS485 unter Linux in bidirektionaler Richtung


von atmeltierchen (Gast)


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!

von Benjamin U. (utzus)


Lesenswert?

Ich würde jetzt ein Oszi rausholen und die Pegel zuerst vor den 
Pegelwandlern messen und dann wenn dort vom PC2 was ankommt, dann die 
RS485 Pegel checken, ob die Pegelwandler richtig funktionieren.

von amateur (Gast)


Lesenswert?

Es kommt auch ein einfacher Verdrahtungsfehler infrage. Die Sende- und 
Empfangsleitung sind differentiell und daher jeweils 2-Adrig.

von Walter S. (avatar)


Lesenswert?

wer macht den da die Umschaltung der Richtung?

von amateur (Gast)


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.

von Salb & Quack (Gast)


Lesenswert?

Ich wuerd nochmals ein Leiterpaar spendieren fuer die andere Richtung.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

atmeltierchen schrieb:
> FTDI -> RS485-Pegelwandler

Wie ist das aufgebaut?

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?

von atmeltierchen (Gast)


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 :-)

von Nullchecker (Gast)


Lesenswert?

A und B irgendwo vertauscht ?

von Jens M. (Gast)


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).

von Benjamin U. (utzus)


Lesenswert?

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

bei mir ging das über die Handshakes. Da wurde eine Leitung missbraucht 
um den Treiber zu aktivieren

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Jens M. (Gast)


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.

von atmeltierchen (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Das ist Murks, weil eben genau das zur Richtungsumschaltung von der
> Hardware des FTDI-Bausteines erzeugte Signal so unterschlagen wird.

Danke! Das ist gut zu wissen.

Jens Martin schrieb:
> Welcher?

TCC-80

von Jens M. (Gast)


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.

von dinus (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.