[ModBus Vorlage] SolarEdge WR

Modbusvorlage für alle Sunspec kompatiblen Wechselrichter von Solaredge.

Bitte immer mit den Variablen arbeiten die ein (berechnet) im Namen haben. Das sind die finalen Werte.

Solaredge_Sunspec.json (32,5 KB)

Dokumente von SolarEdge:
sunspec-implementation-technical-note.pdf (1,5 MB)
SolarEdge_SunSpec_Protokoll.pdf (473,0 KB)

2 „Gefällt mir“

och nö, die hatte ich fast fertig :frowning:

Skalierungsfaktor kannst du einfach so berechnen:

return ($VALUES["A_2_3_71"] * (10 ** $VALUES["A_5_3_75"]));

Gruß Stephan

Na dann werfen wir meine weg und du lädst deine hier hoch. Kein Problem. Du bist ja weiter als ich :slight_smile:

Mein 1. Beitrag ist jetzt als Wiki aktiv - du müsstest ihn also auch editieren können.

paresy

ok, hab deine Vorlage um die Umrechnung mit dem Skalierungsfaktor ergänzt.
Profile sind auch fast alle enthalten.

Viele Grüße
Stephan

1 „Gefällt mir“

Vielen Dank euch beiden! Hat super funktioniert. Nun habe entlich die Daten im System. TOP!

1 „Gefällt mir“

Hallo, ich mache das mit dem .json Import das erste mal. Ich denke ich habe es nach der Hilfe importiert, wo muss ich nun die IP Adresse des WR eintragen oder ändere ich das Gateway für das Modul.
Wäre über Hilfe dankbar :slight_smile:

Danke Christian

Im Gateway trägst du die Geräte-ID ein und über dem Gateway steht die Schnittstelle - dort wird die IP-Adresse des WR eingetragen.

LG. Werner

1 „Gefällt mir“

Hallo Christian,

habe gerade meinen Modbus SL (RS 485) zum Laufen bekommen.
War nicht ganz ohne. Hat mich einiges an Nerven gekostet, aber dabei habe ich zumindest die Philosophie der Modbus Projektierung in IPS verstanden, glaube ich zumindest!?

Sehe gerade, dass Werner dir schon geantwortet hat. Egal, ich gebe meinen Senf einfach noch dazu …

Vorab, Modbus TCP habe ich in IPS noch nicht projektiert, aber ich denke nachfolgende Vorgehensweise führt ans Ziel

Schau dir zunächst die Spec „Implementation Technical Note.pdf“ (Beitrag 1 von paresy) an. Du musst den Modbus TCP am WE erst aktivieren. Das „Wie“ wird dort beschrieben.

Zur Projektierung Modbus TCP in IPS (von „unten“ nach „oben“)

Schritt 1 => I/O Instance (Kommunikationskanal)

Erzeuge einen „Client Socket“.
Hier kannst du unter „Host“ die IP des Teilnehmers (WR) eingeben und bei Port „502“ ein. Ist der Modbus TCP Standard Port.

In der erwähnten WR Doku steht zum Port einmal „1502“ und zwei Seiten weiter „502“!? Habe ich nicht verstanden. Probiere „502“

Damit hast du dann die unterste Ebene (Kommunikationsebene) eingerichtet.

Schritt 2 => Splitter Instance (Datenaufbereiter )

Erzeuge hier eine „Modbus Gateway“ Instanz. Bei „Modus“ muss „Modbus TCP“ eingestellt werden (Ist der IPS Default-Wert).

Die Server ID (Eigentlich „Unit Identifier“, in der Spec zum WR „Device ID“ ) ist für Modbus Gateways oder Modbus TCP Server mit verschiedene Serverbereiche relevant. Entspricht bei Gateways der Modbus SL Adresse des Teilnehmers am RS485 Bus. Das nur zu Info.
In der Doku zu dem WR steht „1“. Also hier die „1“

WICHTIG, du musst oben in der Reihe von „Instanzkonfiguration“ auf „Schnittstelle ändern“ gehen und prüfen, ob die unter Schritt 1 erzeugte I/O Instance ausgewählt ist!

Hier kannst du auch über die Experten Einstellung die Abfrage der Daten in Blöcken einstellen, aber das würde ich, wenn überhaupt, später machen! Bei Modbus SL durchaus sinnvoll, bei Modbus TCP eigentlich egal. Ist bei der Ersteinrichtung aber nur eine Fehlerquelle mehr.

Schritt 3 => Geräte Instanz (Mapping auf die Gerätevariablen)

Jetzt müsstest du hier eine „Modbus Geräte“ Instanz anlegen. Ich denke, das hast du schon getan, da hier ja auch die Vorlagen importiert werden.

WICHTIG, hier musst du oben in der Reihe von „Instanzkonfiguration“ auf „Gateway ändern“ gehen und prüfen, ob die unter Schritt 2 erzeugte „Splitter Instanz“ ausgewählt ist.

Bzgl. Abfragezyklus scheiben sie in der WR Doku, dass nach 2 Sek die TCP Verbindung durch den WR geschlossen wird. Macht zwar nix, würde sie aber trotzdem < 2Sek einstellen

Um Modbus Funktion Codes musst du dich nicht mehr kümmern, die sind in der Vorlage enthalten.

Und los geht’s (hoffentlich) => I/O Instanz aus Schritt 1 starten und Werte checken.

Das müsste eigentlich funktionieren!? Habe es, wir erwähnt, noch nicht gemacht, aber so würde ich an die Sache rangehen.

Hoffe es klappt …

VG Teckie

1 „Gefällt mir“

Mega :slight_smile: Vielen Dank so klappt´s!

Wie berechne ich jetzt die aktuelle PV Leistung? Sollte das nicht mit <? SetValue(37247,GetValue(44416)*pow(10,GetValue(40260))); ?> Register 40100 und 40101 funktionieren?

Danke