Forum: Mikrocontroller und Digitale Elektronik Modbus RTU bzw. Rs485 sternverteiler aktiv


von Alexander S. (docalex)


Lesenswert?

Moin,

Ich möchte meine Hausautomatisierung auf RS 485 vernetzen. Da die SPS 
von Haus aus Modbus kann, will ich dieses
Protokoll verwenden.

Das Problem ist nun, dass man RS485 nur eine Bustopologie realisieren. 
Im Haus habe ich aber eine sterntopologie.

Wie kann man das Netz auf Stern realisieren?

Wäre es eine Möglichkeit einfach 10x rs485 tranciever zu verwenden und 
damit einen hub aufzubauen.

Ich könnte dann alle rx leitungen und alle tx leitungen verbinden und 
mit der SPS verbinden.

Geht das so? Oder wie macht mans richtig?

Viele Grüße

Alexander

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

Man findet per Suchmaschine Schaltpläne von RS-485-Repeatern. Dort ist 
auch erklärt, wie das funktioniert.
Diese nun von 2 auf 20 oder 300 Kanäle zu erweitern, ist aber durchaus 
ein Aufwand.
Zumindest kannst Du aber immer 2 Strahlen an Deinem Stern zu einem Bus 
verbinden. Damit ist der Aufwand schonmal halbiert.

von Alexander S. (docalex)


Lesenswert?

Joerg L. schrieb:
> Man findet per Suchmaschine Schaltpläne von RS-485-Repeatern. Dort ist
> auch erklärt, wie das funktioniert.
> Diese nun von 2 auf 20 oder 300 Kanäle zu erweitern, ist aber durchaus
> ein Aufwand.
> Zumindest kannst Du aber immer 2 Strahlen an Deinem Stern zu einem Bus
> verbinden. Damit ist der Aufwand schonmal halbiert.

Repeater war ein gutes Suchwort. Danke

Hier

http://www.wfms.org/hcs/hcs-docs/cci-rs485-repeater.pdf

Ist ein solcher Schaltplan.

Ma sieht, das read mit write gekreuzt wird.

Wa ich meinte ist aber ein hub.

Also: nur der Master sendet und nur ein slave antwortet.

Somit wäre Die Master Tx leitung auf alle abgehenden Tx Leitungen zu 
verteilen und Jede Rx Leitung durch ein or zu verknüpfen und an den 
Master zurückzugeben. Es antwortet sowieso nur ein Slave ...

Vg
Alexander

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

Unter einem Hub verstehe ich eigentlich ein Gerät, das alle vorhandenen 
Ports gleich behandelt, egal wo Master oder Slave angeschlossen sind. 
Das willst bzw benötigst Du aber nicht. Daher ist Dein Lösungsansatz mit 
dem OR in meinen Augen richtig.

von Peter (Gast)


Lesenswert?

Wenn du jeweils 4 Adern pro Kabel hast kannst du es im Sternpunkt als 
Linie klemmen. 2 Adern hin und 2 zurück und von da aus weiter zum 
nächsten.

von Alexander S. (docalex)


Lesenswert?

Joerg L. schrieb:
> Unter einem Hub verstehe ich eigentlich ein Gerät, das alle vorhandenen
> Ports gleich behandelt, egal wo Master oder Slave angeschlossen sind.
> Das willst bzw benötigst Du aber nicht. Daher ist Dein Lösungsansatz mit
> dem OR in meinen Augen richtig.

Ja genau so:

Wenn ich N Kanäle habe, muss ich  einen RX auf N-1 TX vervielfältigen 
(verbinden) (z.B. über Treiber), denn der empfangende Teilnehmer soll ja 
nicht an sich selbst senden.

Ebenso muss ich von N-1 Kanälen den RX mit einem OR zusammenfassen und 
auf einen TX verbinden.

Das ganze N-1 mal.

So können alle Teilnehmer miteinander reden. Das wäre für ein 
Protokollunabhängiges Vollduplex RS485 Netz erforderlich.

Wenn man sich aber nun auf Modbus beschränkt, dann sendet der Master an 
alle und ein Slave antwortet nur dem Master.

Daher ist es ausreichend, wenn ich den Master TX auf alle RX 
vervielfältige und alle TX mit einem OR auf den Master RX zusammenführe. 
Das Or ist nur, damit nicht zwei Pegel kollidieren.

Hat jemand sowas schon mal gemacht?

Welche Spannungen darf/soll ich eigentlich verwenden?

Viele Grüße

Alexander

: Bearbeitet durch User
von Alexander S. (docalex)


Lesenswert?

Was mir gerade einfällt: Ich könnte eine Vollduplex Leitung von der SPS 
zum Sternverteiler verlegen. Da ist dann RX und Tx getrennt.

Im Sternverteiler empfange ich das TX und wandle es in ein TTL Signal 
und sende es an alle Stränge, die ich nun aber in Halbduplex realisieren 
kann.

Das Signal, dass die Stränge rückantworten, kann ich dann wieder auf TTL 
wandeln und nun mit einem OR zusammenfassen und an den Master 
zurücksenden. Auf die Art spare ich mir das Umschalten.

Ich habe inzwischen dieses Modul hier gefunden:

https://de.aliexpress.com/item/Modbus-RTU-4-Way-Relay-Module-DIY-STM8S103-System-4-Road-Input-485-Communication/32704810964.html

Das kann mit 4 Relais 2 Rolladeantriebe überwachen und gleichzeitig 4 
Fensterkontakte überwachen.

Das ganze ist Prozessorgesteuert. Der Prozessor hat auch I2C. Somit 
könnte man mit dem Board auch andere Sensoren abfragen.

Viele Grüße

Alexander

: Bearbeitet durch User
von Alexander S. (docalex)


Lesenswert?

Moin

hier

http://www.rs485.com/pibs485.html

ein hub.

Der schaltet mit einem Monoflop zwischen empfangen und senden um. 
Zeitkonstante 27 micro sec.

Hier

http://www.rs485.com/index.html

Finden sich so ziemlich alle nötigen Schaltungen.



Vg

Alexander

: Bearbeitet durch User
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.