[Modul] JoTKPP - Solar-Wechselrichter Kostal PLENTICORE plus & PIKO IQ

Das Problem mit Little/Big-Endian haben sicher einige seit der 7.0. Bei mir gibt es leider einen von mir nicht änderbaren Empfänger der Modbus-Nachrichten (openWB), deshalb muß ich die Kostal auf little endian einstellen. Gibt es eine Möglichkeit, das Modul durch eine Änderung im Programmtext auf little endian festzuzurren?

Wenn ich den WR auf big endian umstelle, funktioniert das Modul wie erwünscht, dann aber die openWB nicht mehr :frowning:

Ich hab mal versucht, im Modul zu editieren, aber anscheinend nicht die richtige Stelle erwischt - wer weiß Rat?

Viele Grüße

Dirk

Hallo zusammen,

ich muss mich wieder einmal melden und schulde allen ein Update wie es mit dem Modul weiter geht.
Ursprünglich hatte ich vor, das Modul an IPS 7.0 anzupassen.
Dann kam mit IPS 7.x die Erweiterung des integrierten ModBus. Daher macht es Sinn, wenn ich das Ganze auf die neuen ModBus-Funktionen umschreibe, da diese nun auch Strings und alles andere unterstützt, was vorher nicht möglich war. Daher wird meine eigene ModBus-Klasse wohl überflüssig. Diese war jedoch darauf ausgelegt, dass sich der ModBus-Gateway um Big-/Little-Endian kümmert, was ab 7.x nun die ModBus-Instanz selber macht (coole Anpassung :+1:, aber für meinen Code nicht hilfreich :frowning: ). Daher lässt sich das Problem von einigen von euch (z.B. @garfieldt & @dallard) nicht einfach mit einer Zeile Code fixen…

Ich habe geplant, dass das Modul in Zukunft direkt einen Konfigurations-Import in die erweiterte ModBus-Instanz schreibt und dann eigentlich nur noch beim Laden von meinem Code abhängig ist.

Aktuell ist es aber so, dass ich (noch) zwei Jobs habe und daher die Freizeit fürs Programmieren zu kurz kommt . Das wird sich aber im Herbst ändern und ich hoffe, dass ich dieses Thema dann endlich angehen kann.

Ev. hat jemand anderes bereits alle Werte in eine ModBus-Instanz eingepflegt und könnte seinen Export zur Verfügung stellen?

Grüsse aus der Schweiz
jotata

3 „Gefällt mir“

Hallo,

danke, das hat mir schon mal auf die Sprünge geholfen. Ich habe mir die Modbus-Doku für den Kostal besorgt und das Device angelegt. Dabei sind folgende Punkte aufgefallen:

Bool-Variablen sollen als function code 3 angelegt werden (lt. Doku). Geht im Modul nicht.
Einige Variablen werden als little endian - byte swap benötigt, andere (vor allem Strings) als big endian (standard). Einige Strings sind mit 8 Byte in der Doku, brauchen aber 16, um den vollen Text anzugeben. Zwei Adressen haben kein angegebenes Variablenformat, die habe ich erst mal ausgelassen. Ansonsten ist die Vorlage angehängt - ohne Gewähr. Funktioniert mit meinem Plenticore Plus G2 7.0.

Viele Grüße

Dirk

Kostal Plenticore G2 7.0.json (54,6 KB)