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