Für alle die eine Modbus RTU Extension besitzen ist das wahrscheinlich kein Problem, jedoch wollte ich dafür nicht extra eine Extension verwenden.
Stattdessen habe ich von WaveShare einen "RS485 TO ETH (B)" Konverter verwendet.
Dieser ist am Wechselrichter mit einem offenen Patchkabel an dem "Modebus" Port angesteckt. (In manchen Firmware Versionen soll es wohl nur noch am BMS Port funktionieren, bei meiner Version 2005-1128-1807 funktioniert aber der Modebus Port auch. Und ja, der Port ist im Wechselrichter wirklich mit ModeBus beschriftet.)
Die Adern dafür sind bei einem normalen 568B Patchkabel:
RS485 A - orange
RS485B - weiß/orange
GND - weiß/grün
Von Waveshare gibt es die Software VirCom mit der man die IP von dem Konverter einstellen kann. Bei mir war er unter 192.168.1.200 erreichbar. (Andere Quellen berichten von 192.168.1.201 / 192.168.1.202 / 192.168.1.254 und selbst die Anleitung von Waveshare ist da nicht wirklich eindeutig.)
Hier die Einstellungen des Adapters:
Danach in der Config einen neuen Modbus Server und ein neues Modbus Gerät mit der Adresse 1 (Falls ihr eurem Wechselrichter keine andere Adresse gegeben habt.) mit folgenden Einstellungen anlegen:
Wichtig ist "Fragmentierte Pakete" zu aktivieren, sonst kamen ab und zu Nullwerte.
Die Modbus Register finden sich in dem PDF hier:
Die Analogsensoren werden mit dem Befehl 3 ausgelesen und die Digitalaktoren mit 16 geschrieben. (Wobei laut PDF eigentlich 16 nicht unterstützt wird. Aber bei mir funktioniert es trotzdem.)
Und bisher klappt die Kommunikation auch Zuverlässig.
Ich hoffe das hilft dem ein oder anderen.
Kommentar