Arduino als Slave anschließen und Daten lesen über RS485

Hallo alle,
bei mir ist eine Wechselrichter(Master) mit einem Smartmeter(Slave) über RS485 verbunden. Ich möchte die Daten in Smartmeter oder in Wechselrichter auslesen und bewerten.
Soweit ich weis in eine RS485 Bussystem darf nur einen Master Vorhanden sein. Bei mir vermute ich Wechselrichter ist Master.
Wie kann ich Arduino an RS485 anschließen und Daten auslesen?
Als Master oder Slave?
Auf entsprechende Arduino Code würde ich mich sehr freuen

Danke im Voraus.

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.

mfg ein Moderator.

Ein Master zu einer Zeit.
Es gibt durchaus Multimaster Protokolle.

Verlinke mal die Protokollbeschreibung deines Wechselrichters und deines Smartmeters dann kann man sich vieleicht anschauen, was geht.

Wenn es Modbus ist und man den Wechselrichter nicht als Slave betreiben kann, dann könnte ich mir vorstellen einen Mega mit mehreren HW-Seriellen zu verwenden und die Wechselrichter-Smartmeter Kommunikation durch den MEGA durchzuschleusen - und zusätzliche Requests den Mega stellen zu lassen.

Wechselrichter (Master) --> (Slave-Serial1) Mega (Serial2-Master) --> Smartmeter (Slave)

Hallo noiasca,
Smartmeter verwendet Modbus_RTU Protokole.
hier ist Link

muss ich beide Seriale von Mega an gleiche RS485 Bus anschliessen, wo Wechselrichter als master und Smartmeter als slave ist?

Der MEGA hat 4 Serielle Schnittstellen.
Der MEGA stellt sich zwischen die Kommunikation von Wechselrichter und Smartmeter.

Wechselrichter (Master) --> (Slave-Serial1) Mega (Serial2-Master) --> Smartmeter (Slave)

Das ist kein Anfängerprojekt. Wie gut sind deine C++ Kenntnisse?

Ich bin kein Anfänger.
programmier kennstnisse habe C# für C++ geht auch.
Können Sie mir paar Code posten.
Ich habe immer noch nicht verstanden, wie kann Mega in gleicher RS485 Bus sowohl als Slave und als auch als Master funzen und Daten auslesen?

a)
Man kann am Mega sowohl einen Modbus Master wie auch einen Modbus Slave aufsetzen.
Der MEGA hat also beide Rollen.

Alternativ könnte man
b) nur den Verkehr zwischen Serial 1 und Serial 2 durchschleusen und wenn der andere Master (Wechselrichter) nichts abfragt, den MEGA als Master seine Abfragen an den Smartmeter senden lassen.

c) den MEGA nur "lesend" am BUS mithörend lassen und die Antworten vom Slave auch am MEGA auswerten.

a) ist umfangreich - aber sauber
b) ist etwas tricky, damit würde ich beginnen.
c) klappt nur, wenn der Wechselrichter oft genug abfragt, dafür muss man aber die Modbus-Anworten vom Smartmeter selber interpretieren. Das setzt aber wissen zum Modbus voraus.

Code habe ich keinen für dich.

Für Master-Rollen würde ich die Modbus-Master von DocWalker nehmen.
Für Slave-Rollen würde ich meine Noiasca Modbus Server nehmen, da das API zu DocWalker passt.

1 Like

Smarmeter hat nur eine rs485 A,B Eingang . Wie kann beide bus daran anscliessen. Parallel zwei bus oder?
Das habe ich nicht verstanden.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.