Modbus TCP: Kostal Plenticore Plus - Query Response umwandeln

Hi,

ich bin hier noch am Verzweifeln:

Ich möchte über Modbus TCP die Werte eines Kostal Plenticore Plus Wechselrichters auslesen.
Die Spezifikation der Schnittstelle ist hier zu finden: https://www.kostal-solar-electric.com/de-de/download/-/media/document%20library%20folder%20-%20kse/2018/08/30/08/53/ba_kostal_interface_modbus-tcp_sunspec.pdf

Das klappt auch ganz gut… zumindest für einfache Register.
Ich habe einen Auszug der Querytabelle des Herstellers hier reingepackt. Mit „einfachen“ Werten meine ich beispielsweise alle mit N=1. Sobald ich mehr als N=1 habe, wie beispielsweise bei Strings oder Floats weiss ich derzeit weder mit welchem Datentyp ich die Abrufe, noch wie ich an die anderen „Register“ komme.

Bsp.:

  • MODBUS-Unit-ID oder Number of PV-Strings kann ich problemlos mit richtigem Wert out of the box auslesen.
  • Adresse 118: Total Home Consumption mit einem Float und 2 Registern krieg ich nich gebacken.

Irgendwie muss ich da wohl noch was „umwandeln“? Hab hierzu auch den Auszug der Response aus der Herstelleranleitung gepostet. Da steht was von Registervalue N x 2 Bytes.
Ich habe leider keine Ahnung was ich da tun muss.

Weiss jemand mehr? Ich bin total überfragt.

Vielen lieben Dank!

PS: Topic ist im englischen Forum gelandet, weiss nicht wie ich das rüberschieben kann. Wenn ein Mod so nett wäre? :slight_smile:

Hast du Float/Real denn mal probiert? Im Gateway gibt es noch einen Swap MSW/LSW Schalter. Hast du den mal ausprobiert?

paresy

Ja, ich habe alle Datentypen und alle Schalter in allen Kombinationen eine Stunde lang ausprobiert. Es erscheinen zwar Daten von den Registern, aber die Stimmen nicht.

Es muss mit der Register-Quantity zu tun haben. Alle Datenfelder mit einer Registerquantity von 1 funktionieren.
Die Floats und auch Strings haben jedoch 2 oder 8 Registerquantities. Irgendwie müssen die Werte dann wohl zusammengesetzt / berechnet werden?

Das Problem müsste eigentlich auch bei anderen Modbus Schnittstellen auftreten.

Zumal Strings auch nicht in den Symcon-Datentyp: Float / Int passen würden.

String unterstützen wir aktuell nicht für ModBus.

Aber ich frage noch einmal Konkret: Das MSW/LSW Flag hast du ausprobiert, ja? Diese Einstellung ist im Gateway zu finden.

paresy

Ja,das habe ich probiert. Es kommen bei beiden Varianten Werte, aber beide sind falsch.
Die Werte der Register mit Quantität 1 sind in beiden Fällen richtig.

Bsp. den Wert aus Adresse (dec) 118: „total home consumption“ sollte den Hausverbrauch in Wh angeben. Anstatt des Ist-Verbauchs von momentan ca. 1000 Wh werden mit „Real 32 bit“ 33934,6 ausgelesen. Mit Word 16 bit: 36517… bei anderen Einstellungen wiederum Negativ-Werte. Lauit Hersteller ist der Wert ein Float mit Registerquantität 2. Ich werd daraus nicht schlau. :frowning:

gelöst.

  • dank dem wunderbaren paresy, der mich auf meine eigene Unfähigkeit hingewiesen hat :slight_smile:

Korrekte Einstellung: Swap LSW/MSW for 32Bit/64Bit values im Modbus Gateway aktivieren und dann auch die korrekten Werte auslesen (bei mir waren es die falschen :-))

Ich habe einen gleichen Wechselrichter und möchte dort ebenfalls gerne Strings auslesen. Ist diese Funktion für die nächste Zeit geplant?
Alternativ könnte man den String ja selber auslesen, wenn man die entsprechende Funktion im Hintergrund kennt, welche auch zum lesen der anderen Datentypen verwendet wird. Wenn man diese direkt aufrufen kann und dabei das Start-Register sowie die Anzahl der Register angeben könnte und danach das Resultat selber in einen String umwandeln und in eine Variable schreiben könnte…
Wie wird das gemacht? Ist eine entsprechende Funktion verfügbar und welche Parameter hat diese?

Wäre toll, wenn man das wenigstens für den Übergang so machen könnte.

Ich habs glaube ich nun selber raus gefunden (Dank dem Modul B+G E-Tech von Michael Tröger).

Werde einmal schauen ob ich ein ModBus-Modul für den Kostal Plenticore Plus zusammen kriege :rolleyes:

@mesa: Hast du allenfalls auch schon an einem solchen Modul rumgetüftelt?
Falls ja, könnten wir uns ja zusammen tun… Geteiltes Leid ist ja angeblich halbes Leid und geteilte Freude doppelte Freude :slight_smile:
Ich möchte meine PV-Anlage möglichst rasch in IP-Symcon integrieren.

Habe soeben mein eigenes Modul (BETA) für einen Kostal Plenticore plus im Modul-Store hochgeladen.
In der Instanz-Konfiguration kannst du auswählen, welche Werte du angezeigt haben willst.
Es werden auch die Strings ausgelesen und du musst dich nicht mehr um die ModBus-Swaps & -Adressen kümmern.
Das wird alles vom Modul erledigt :slight_smile:

Wäre toll, wenn das Modul bei dir so gut funktioniert wie bei mir und dann hätte ich ja bereits den ersten Beta-Tester :wink:
Einfach im Store nach „JoT Kostal PLENTICORE plus“ suchen…

Freue mich auf ein Feedback.

Werde noch eine offiziellen Module-Thread dazu erstellen…

Hallo Jotata,

ich würde gerne Dein Modul testen, finde es jedoch nicht im Symcon Store.
(Weder mit JoT oder Kostal als Suchbegriff).

Kannst Du das Modul hier posten oder per PN zur Verfügung stellen?

Danke

BinEilig

Du musst schon genau den von ihm genannten Text aus den doppelten Anführungszeichen benutzten um Beta Module zu finden.
Michael

Hallo BinEilig
Sorry, habe das Modul noch umgetauft. Du musst nach „JoTKPP“ suchen.
Einzelne Begriffe werden im Store nicht ausgewertet, wenn das Modul noch im BETA-Status ist.

Mittlerweile gibt es auch einen offiziellen Modul-Thread im Forum.
Bitte allfällige Fragen gleich dort erfassen.

Freue mich auf dein Feedback.

Hallo,

ich habe genau das gleiche Problem wie Du komme aber selbst mit der Beschreibung hier nicht weiter. Zu mir ich habe auch keine große kenntnisse. Möchte nur den Wert auslesen wie Viel Watt gehen gerade zurück ins Netz und damit weiter arbeiten.

gruß
Frank