Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Also 2 Sache über die ich gestolpert bin sind zum einen die Endianess des Systems also die Bytereihnfolge und die Registeraddresse um +-1 verschieben...
Bei mir (E3DC) haben die Registeraddressen auch nicht immer gepasst.
Erschwerend kommt hinzu das die PHPModbus lib irgendwie nicht so toll ist...
Ich trage mich aktuel mit dem Gedanken einen "primitiven" Modbus client direkt im LBS zu implementieren.
Hab das aktuell für meine Lüftung am laufen und es scheint eigendlich kein Hexenwerk zu sein.
Vielleicht mal Feedback geben ob das von interesse ist und wer (außer mir ) diesen LBS hier noch nutzt.
erst einmal lieben Dank für Deinen LBS. Nun wollte ich für meine SMA-Anlage auch mal testen, ob ich ModBus-Daten grundsätzlich ermitteln kann. Mit dem kleinen Helfer-PHP aus den Anfangstagen dieses Threats bekomme ich mit diesen Werten (IP eines SMA-Wechselrichters):
Laut Doku von SMA (PDF in ZIP) und auch einer SMA-Support-Seite und anderen Quellen, sollte "30051" mit Länge 2 aber "0,0,31,65" liefern, dass umgerechnet dem Wert "8001" entsprechen soll und laut SMA Doku für "Solar-Wechselrichter" steht.\
Nur: Die dafür erwartetet "65" in [3] wird mir nicht geliefert. Und selbst mit einem manuell in das array[3] eingetragenen "65" liefert mir "bytes2signedInt" nicht den erwarteten Wert "0, 8001".
Zwischenfazit: Ich kann ModBus aus meinen SMA-Geräten technisch auslesen, das ist auf jeden Fall schon mal ganz prima!
Aber mir scheint etwas zu fehlen im Resultat. hx5 : Hast Du das Thema auch gehabt mit Deinem SMA-Gerät? Was liefert das Helfer-PHP mit "$modbus->readMultipleRegisters(3, 30051, 2);" bei Dir mit "print_r($recData);" für die Ausgabe? Hast Du die 65 drin?
Mit dem LBS bekomme ich im Log keine Fehler mehr, aber auch keine Ausgabewert. Aber ich vermute, ich muss erst das Thema ganz "roh" mit Hilfe des Helfer-PHP lösen, dann an den LBS gehen...
Hallo! Funktioniert dieses LBS auch mit Fronius Symo Wechselrichtern? Hat damit jemand einen laufen? Wie ist das mit diesen Sunspec? ;Muss man da Werte umrechnen? Hat jemand eventuell ein Beispiel oder einen Programmauszug für mich?
THX ganz lieb
Aber ich glaube nicht das es an meinem Slave liegt. Wie gesagt habe ich den QModMaster schon über Stunden in Sekundentakt laufen lassen ohne einen einzigen Error. Auch mit Wireshark konnte ich keine Auffälligkeiten sehen.
Hm, ich glaube ich muss bei dir aufgeben...
Bei mir läuft der LBS sehr zuverlässig im Sekundentakt.
Da es bei dir ja nicht immer gleich ist sondern manchmal klappt und manchmal nicht würde ich jetzt auf deinen Modbus Slave tippen.
Wieß leider auch nicht wie ich es sonst noch debuggen soll.
Sorry.
Ich bin seit dem letzten Versuch oben von der VM auf einen eigenen Rechner mit Edomi umgezogen, das Betriebssystem (CentOS 6.5) ist das gleiche geblieben.
Mit dem QModMaster (unter Windows 10) geht es, mit den gleichen Einstellungen, ohne Probleme. Mit deinem LBS kamen gestern vereinzelt Werte, heute noch keine.
Wenn dir nichts mehr einfällt werde ich es mal mit dem LBS 19000110 versuchen, der holt die Daten über das Webportal (und damit verzögert).
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: