Ich habe ein kleines Malheur mit den Registern bei SMA
Ich nutze den PHPModbus der auf dem NAS liegt und eigentlich einwandfrei funktioniert.
Die Register sind (sollten) lt Doku gleich sein.
Ich frage drei WR ab. Die Anfrage ist immer gleich, bis auf die IP und die UnitID.
Der Codeschnipsel sieht so aus
Mit dem Numberformat setze ich die Ausgabe des Modbus auf eine Kommazahl und setze den Tausendertrenner
$STP6000WS1V = number_format (Modbus ("xxx.xxx.xxx.xxx",4,30771,10)/100,2,",","."); //aktuell String1 Volt
$SB5WS1V = number_format (Modbus ("xxx.xxx.xxx.xxx",3,30771,10)/100,2,",","."); //aktuelle Volt String1
$SB3WS1V = number_format (Modbus ("xxx.xxx.xxx.xxx",3,30771,10)/100,2,",","."); //aktuell Volt String1
$STP6000WS2V = number_format (Modbus ("xxx.xxx.xxx.xxx",4,30959,10)/100,2,",","."); //aktuell String2 Volt
$SB3WS2V = number_format (Modbus ("xxx.xxx.xxx.xxx",3,30959,10)/100,2,",","."); //aktuelle Volt String2
$SB5WS2V = number_format (Modbus ("xxx.xxx.xxx.xxx",3,30959,10)/100,2,",","."); //aktuelle Volt String2
Der WR SB5 liefert als einziger die richtigen Werte. Der SB3 und der Tripower liefern nicht nur zahlenmässig falsche, sondern obendrein negative Zahlenwerte.
Hat da jemand eine Idee was es sein könnte?
Ich vermute das ich falsche Register anspreche. Nur finde ich keine Doku die dies bestätigt.
Und alles durchtesten wird sicher bis zum Frühjahr dauern
Übrigens habe ich das Problem nur bei den Stringsspannungen. Bei allen anderen Parametern funktioniert das mit den gleichen Registernummern super.
Ich hatte SMA auch angeschrieben. Bis auf die Vermutung dass es an einem alten Versionsstand im STP liegen könne wusste man nicht weiter. Das Update ist drauf, brachte aber keine Verbesserung
Grüsse
Carsten