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
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
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
Mega 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
Nach einem Gespräch mit Michael Maroszek auf der Light&Building 2024 bin ich dabei von USB weg auf Ethernet umzustellen. Ein Deye 12K lässt sich auch per Modbus RTU über TCP und 4-CH RS485 TO POE ETH (B) Adapter auslesen aber mit immer wiederkehrenden Aussetzern.
Nun habe ich bei meinem Solaredge Modbus TCP aktiviert und lese da die Daten auch aus (1,9s Intervall). Gleiches Phänomen da, oft kommen minutenlang keine Daten an.
Da ich die produzierte Leistung vom Solaredge auch noch per IR Lesekopf/USB auslese (5s Intervall), habe ich mal beide Daten graphisch verglichen:
Also ich lese meinen WR aller 15 Sekunden aus und habe relativ selten mal Aussetzer. Kommt aber schon mal vor.
wenn man nur auf das rote Aufrufezeichen in der Verwaltungskonsole achtet, scheint das zuerst so. Daher hat mich die Grafik doch überrascht und wie häufig das ist. Eine vernüftige PV geführte Autoladung geht so nicht mehr
Nach einigen Wireshark Sessions hat sich heraus gestellt, dass der Haupt-Switch überlastet war. Nun hängt der Symcon Rechner am Technik-Switch (war vorher hinter dem Haupt-Switch) und so kollidiert der ganze „Symcon-Traffic“ (goe-Wallbox, Shelly Pro 3em, Shelly Plus H&T, Solaredge WR und Deye WR) nicht mit dem Büro / Tablet Traffic.
Hätte aber trotzdem nicht gedacht, dass so ein Zyxcel Switch so schnell an seine Grenzen kommt.
Ich habe bei einem Kunden einen SE8K hängen, ModBus TCP ist aktiv, jedoch springt die i/o Instanz nach wenigen Sekunden auf Fehler…
Habt ihr eine Idee wo ich nachschauen könnte?
@Wuwu : welchen Zyxel Switch verwendest du?
Wir bringen Zyxel Switche an ihre Limits, aber da hängen dann viele Hunderte Clients dran, mit sehr vielen Regeln!
Hängt noch ein weiteres Gerät am SolarEdge per ModBus dran? Wir hatten das auch bei einem Kunden und es stellte sich heraus, dass der SE nur eine Verbindung gleichzeitig kann.
paresy
Es hängt noch KNX dran, aber ob am WR oder am SmartMeter, das weiß ich leider nicht.
Ich komme nicht drum herum noch einmal vor Ort zu schauen
Aber traurig das man nur 1 Verbindung aufbauen kann, das Problem ist, dass die KNX nicht alle Werte liefert
war ein alter GS1200-8HP.
Jetzt mit einem neuen XMG1915-18EP läuft alles prima.
Einziges Problem beim SE17K ist, dass er manchmal die Werte mit falschem Multiplikator sendet. Das ist wohl im Solaredge nicht sauber synchron gehalten.
hab das Problem mit meinem Huawei WR auch - eine Verbindung und selbst wenn die zu oft anfragt, dann geht er in Timeout, weil er nicht mehr hinterher kommt.
Bei mir hat ein Modbus-Proxy Abhilfe geschaffen und seitdem keine Probleme mehr. Bediene aktuell (auch zu Testzwecken) 11 Instanzen mit dem Modbus-Proxy.
Hallo , frage meinen Solaredge WR bisher problemlos alle 5min über TCP ab und möchte nun aktuellere Werte über ModBus abfragen.
Ich verstehe nur noch nicht ganz die Herangehensweise bei der Installation von ModBus - was habe ich bisher unternommen:
a. einen Modbus Gateway erstellt (ModBus: ModBus TCP, Geräte-ID: 1 , Abfrageverzögerung: 10ms)
b. einen ClientSocket erstellt (Host: IP des WR, Port: 1502, Benutze SSL: deaktiviert)
c. ein ModBus-Gerät erstellt und darin die Vorlage importiert, es werden Variablen angelegt welche keine Werte enthalten.
Wie geht es nun weiter?
Ist diese Solaredge-Vorlage generell für alle WR von SolarEdge?
Vielen Dank für Unterstützung!
Hallo
Als erstes ändere bitte mal das ab abfrageintervall von 10ms auf z.b. 5000ms. 10 ist viiiiiieeeel zu kurz.
Ist beim Modbus Gerät das richtige Gateway eingestellt?
Viele Grüße
Stephan
Das ist nicht ganz korrekt:
wenn ich 5000ms einstelle wird eine Variable nach der anderen im 5s-Takt aktualisiert, d.h. bei 50 Variablen für ein Gerät benötigt die gesamte Aktualisierung eines Gerätes ca. 4,2min…
Ich habe mal meine komplette Installation gelöscht und mit dem ModBus-Gerät angefangen zu installieren, nun erhalte ich auch Werte…
Ich habe folgende Geräte mit entsprechenden Vorlagen erstellt:
a. Wechselrichter mit Vorlage: modbus_SE_INVERTER.json (erstellt von @pitti )
b. Energiezähler mit Vorlage: modbus_SE_METER.json (erstellt von @pitti)
c. Speicher mit Vorlage: Solaredge_SESTI-S04_LG_Resu_10H.json (erstellt von dir)
Muss mal schauen ob diese ganzen Werte plausible sind oder ob mir noch was fehlt.
Ich gehe mal davon aus das die Vorlagen immer auf den aktuellen Stand gehalten werden?
Eine Übersicht mit allen verfügbaren Vorlagen einschließlich dem Änderungsstand würde der Übersicht bestimmt gut dienen
@yansoph
Welchen WR von SE hast du?
Wie hast du ihn angelegt?
Ich erhalte immer noch Fehlermeldungen beim Abfragen
Also das glaube ich nicht! Ich bin absolut kein ModbusExperte und hole mir die Daten eigentlich nur zum Spaß und mache damit eigentlich nichts, aber …
Wie gesagt ich keine Modbus-Experte, aber interpretiere das für mich so:
Heißt bei 50 Werten dauert eine Abfrage 500ms (50 x 10 ms). Ich würde sagen das globale Abfrageintervall darf somit nicht unter 500 ms liegen weil dann ja schon die nächste Abfrage kommen würde!
Gruß Heiko
Bin auch kein Experte, aber wir reden gerade alle aneinander vorbei
Ich habe hier meine Einstellungen gepostet: Thread
Darauf wurde mir empfohlen, den Intervall von 10ms auf 5000ms zu erhöhen, und das bezieht sich aufgrund meines Posts wohl immer noch, wie von dir sehr gut erkannt, auf die Einstellung des ModBus Gateway, da ich ja keine Einstellungen vom ModBus Gerät geschrieben hatte…
Mein WR nennt sich SE10K-RWS, Fehlermeldungen habe ich keine…