Hallo ich habe einen Alpha Ess Smile 5 Inverter inklusive Smile 5 Akku im Haus verbaut. Das System funktioniert auch top und ist über App und Webseite zu erreichen. Ich würde jetzt gerne die Daten aber in IPS auslesen. Der Inverter scheint eine MOD Bus Schnittstelle zu haben. Brauche ich noch einen Schnittstellenumsetzer oder reicht es wenn IPS und der Inverter im gleichen Netz sind und über LAN verbunden sind ?
Hallo,
Sollte reichen. Es gibt von CodeKing ein Modbus-Modul. Vielleicht kannst Du es auf Deine Bedürfnisse anpassen. Vielleicht passt aber auch das Modbus-Modul von Symcon.
Grüße, Gerhard
Hallo Gerhard,
leider komme ich mit dem MODBUS Modul von IPS nicht weiter, da ich nur die IP habe und nicht den Port.
Mit dem SMA Modul von CodeKing geht es mir ähnlich, dort habe ich weder den Port, noch die Unit ID und ich weiß leider auch nicht wie ich an diese Daten komme.
Im Anhang sind die Daten die ich von dem Inverter habe. In dem Screenshot von den Modbus Einstellungen kann ich schon nicht die Adresse 0000H einstellen, da ich nur 4 Zahlen eingeben kann.
Muss ich die Hex Adresse vom Modbus umrechnen?
Trickster
Ich habe jetzt mal beim Client Socket Gateway die IP eingetragen und den Port 502, leider kommt dann die Meldung das der Zielcomputer die Verbindung verweigert hat.
Trickster
Seite 3 vom PDF erzählt was von :
Address code: address code is loacated at beginning of frame ,decimal system is 1~247 in the
inverter; The default address is 85
Portadresse … laut Deinem PDF ist es Modbus über RS485 mit 9600 Boud. Was ist richtig?
Gruß Helmut
Hallo Trickster,
mein Wechselrichter ist von SMA. Er ist über TCP angeschlossen und antwortet auf Port 502.
Mit dem Modbus-Modul von IPS kam ich nicht zurecht, ich bekam keine Werte. Ich habe jetzt zum Auslesen ein eigenes Script in Verbindung mit dem PHP-Modul ‚PHPModbus‘ auf Github. Dessen Verzeichnis liegt im scriptverzeichnis von IPS und wird mit requireonce in eigene scripte eingebunden.
Damit lässt sich dann ein eigener ModBusMaster anlegen mit IP, Port und Adresse. Anschließend kann man mit der Funktion ‚ReadMultipleRegisters‘ auf die gewünschten Register zugreifen.
Grüße, Gerhard
Hallo Gerhard,
laut Hersteller habe ich eine Modbus RTU Schnittstelle, so wie Helmut richtig festgestellt hat. Jetzt ist die Frage ob ich über die Ethernetschnittstelle an die Modbus Daten komme. Ich habe einen Socket angelegt das Problem ist das ich die Meldung „Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.“ bekomme.
Beim Modbus Gateway habe ich RTU über TCP angewählt.
Was kann ich denn noch versuchen? Gibt es beim Modbus so etwas ähnliches wie einen Ping mit dem ich testen kann das die Gegenseite überhaupt da ist ?
MFG Trickster
Nochmal die Frage:
Portadresse … laut Deinem PDF ist es Modbus über RS485 mit 9600 Boud. Was ist richtig?
Hast Du dort Klemmen mit der Bezeichnung RS485 „A“ und „B“ ?
Ich kann Dir ein Modbustool an’s Herz legen, damit kannst Du Modbus über Ethernet und auch über RS485 schnell mal testen.
Gruß Helmut
Hallo Trickster,
ich habe einen Digitalzähler von BGE Tech über Modbus angeschlossen. Und zwar über einen RS232 Adapter. Eine Seite mit A und B an den Zähler, die andere per USB an den Raspberry. Dafür ist kein Treiber erforderlich, er wird als /dev/ttyUSB0 erkannt und kommt über einen Serial Port (2400 baud, 8 Datenbits, 1 Stopbit, keine Parität) ins IPS. Daran kommt das ModBus Gateway mit ModBus RTU und Adresse 1.
Die Register lese ich mit der IPS-Instanz ‚Modbus Address‘, Input Register auslesen (04). Du benötigst auf jeden Fall eine Liste der Register, um zu wissen welche Werte in welcher Größe und Einheit geliefert werden. Den Abfragezeitraum kannst Du in der Instanz einstellen.
Grüße, Gerhard
Nachtrag: Im Debug von Serial Port und Gateway kommen die Werte in den eingestellten Abfragezeiträumen. Interessanterweise kommen sie in der jeweiligen Address-Instanz NICHT.