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.
Hallo Sven,
vielen Dank für diesen super Baustein. Hierrauf habe ich schon lange gewartet. Dies erleichtert das Einbinden unterschiedlicher Wechselrichter von verschiedenen Herstellern ungemein. Mein SMA Wechselrichter SB1.5 als auch Victron GX Geräte funktionieren nach einem kurzen Test beide super. Eine Faktorberechnung würde ich auch wegen der Übersichtlichkeit mit einem externen Baustein lösen. Ein Senden von Modbus wäre dann noch der Hammer.
Soviel Einsatz wird auch mit einer Spende belohnt. Danke!
Vielen Dank für das Meißelset von meiner Wish-List. Hat mich motiviert heute weiter zu machen. Ich hab gerade Version 0.2.1 hochgeladen und sollte morgen dann verfügbar sein.
Changes:
Es gibt einen Eingang 7 neu. Damit rücken leider für Nutzer der 0.1 alle Eingänge um einen weiter, aber so ist das bei einem Testbaustein.
Dieser Eingang kann Optionen setzen. Möglich ist aktuell "NoKeepAlive". Damit wird die TCP-Verbindung nach dem Durchlauf wieder abgebaut.
Es gibt einen neuen Ausgang 1 (Wieder rückt alles). Dieser gibt eine 1 zurück wenn er positiv durch lief. Damit kann Osti sein Problem mit limitierter TCP-Verbindung und mehr als 8 Werten umgehen. Konkret: Ersten Baustein mit Timer laufen lassen. Ausgang 1 mit Eingang 3 verbinden und den zweiten Baustein nur getriggert laufen lassen. Beide mit "NoKeepAlive". Lässt sich unendlich verketten.
Jeder Eingang hat ein Feld für String-Länge. Im Fall von numerischen Werten ist dies nun ein Multiplikator. Man kann also mit beispielsweise 0.001 von Wh in kWh umwandeln ohne nachgelagerte Multiplikationsbausteine
Wollte meinen E3DC mit den Bausteinen auslesen und kriege aber nur 0 als Antwort. Wenn ich den händischen Weg gehe, dann stimmt es, ich muss aber in den Bytes rutschen (also mit einem Offset arbeiten) und die Anfragen, die 32 Int sind, kommen als 16 Int zurück. Die Logik verstehen glaube ich nur Itler.
Im Simpleymodus Player muss ich mit einem Offset von 40001 arbeiten. Im Hs darf ich erst ab Byte 9 lesen, was bei 32Int eigentlich keinen Sinn macht...
Zuletzt geändert von BadSmiley; 13.07.2021, 10:54.
Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!
Wollte meinen E3DC mit den Bausteinen auslesen und kriege aber nur 0 als Antwort. Wenn ich den händischen Weg gehe, dann stimmt es, ich muss aber in den Bytes rutschen (also mit einem Offset arbeiten) und die Anfragen, die 32 Int sind, kommen als 16 Int zurück. Die Logik verstehen glaube ich nur Itler.
Im Simpleymodus Player muss ich mit einem Offset von 40001 arbeiten. Im Hs darf ich erst ab Byte 9 lesen, was bei 32Int eigentlich keinen Sinn macht...
Ich vermute, dass die Firmen, die Modbus in ihre Geräte integrieren, sich nicht gut damit auskennen, aber trotzdem eine Dokumentation zu den Registern etc. schreiben müssen. Ich vermisse auch, dass es klare Referenzen gibt. Offset 40001 wird manchmal erklärt durch: Offset 40000 ist so für alle Holding Register, deswegen wird es im Modbus subtrahiert und die 1 ist wegen one-based vs. zero-based address. Andererseits muss ich es bei einem Gerät angeben, beim anderen nicht. Bei floats habe ich bei einem Gerät einen Offset von 40001, beim selben Gerät hat int32 einen Offset von 40000. Die Doku von den Herstellern scheint mir stark fehlerhaft zu sein, aber die Software scheint manchmal sich daran anzupassen, so dass man 2 Fehler hat.
Ich finde Python sinnvoll, um vorab einen Test zu machen und den HS nicht neu starten zu müssen. Z.B.:
Code:
from pymodbus.client.sync import ModbusTcpClient
client = ModbusTcpClient('192.168.1.1')
client.connect()
result = client.read_holding_registers(10200, 1, unit=1)
print(result)
Hat jemand den Bauspein schon mit einem Modbus/IP zu Modbus/RS485-Konverter ausprobiert? Z.B. dem USR-W610?
Ich habe diesen IP-Modbus konverter getested und er funktioniert mit dem Logikbaustein: USR-DR302. In der Weboberfläche einfach die Modbus-Parameter einstellen, Modus ist TCP-Server und den Modbus-Haken nicht vergessen. War wirklich einfach und günstig (ca. 40 Euro, ca. 20 wenn direkt aus China).
hat das zufällig schon jemand mit Fronius am laufen? Ich bin gerade am Scheideweg HS4 oder Node Red. So 100%ige Laienvorlagen gibt es nicht und versuche grade das beste und einfachste zu finden und umzusetzen (Modbus, Register,... alles ein graus ). Am liebsten natürlich zentral am HS und nicht wieder ein Teil auf Node Red drauf.
Multiplier geht. Es geht um den Offset der Register. Es fängt bei manchen bei 0 an und bei anderen bei 1. Ich muss für Register 40102 einen Offset von minus 1 einstellen.
Aktuell behelfe ich mir, dass ich einfach das Register 40101 eintrage/abfrage.
Ich versteh nicht recht: Warum soll ein Eingang Offset dazu kommen wenn man von jede Adresse um einen reduzieren kann. Es ist doch eine einmalige Konfiguration.
Wenn es ein Bug ist kann ich gern den Bug fixen. Aber bei mir passte die Nummerierung. 🤔
Es wäre halt eine saubere Sache, das so zu lösen. Bei den Programmen existiert es auch. Also so ganz unnütz ist es nicht. Man kann natürlich rumrechnen. Aber wie gesagt, 100%ig wäre es mit Offset
Im Bereich Wärmepumpe (z.B Nibe) und auch Ladestationen (Mennekes, Keba, Etrel, ect) werden aus Erfahrung zum grossen beide Register Funktionen FC03 - Lese Holding Register und FC04 - Lese Input Register verwendet. Ist mal eine Erweiterung auf Input Register angedacht?
Sonst waren meine ersten Tests erfolgreich, ich frage mich warum nicht mehr Reaktionen auf diesen Super Baustein gekommen sind. Das Thema Modbus ist sonst extrem Mühsam anzusteuern über Abfragen.
Passt das auf deine Register auch? Ich kenne es nur so.
Dann kann ich das mal einbauen und sparen uns einen Eingang wo man auch wieder Checks bauen muss.
Zum Offset-Vorschlag: Nur wenn ich ganz viel Zeit hab. Will u.a. eher Schreiben von Registern fertig kriegen und das ist es quasi. Muss es "nur" releasen :-) Und hab danach noch andere Themen für mein Heim.
Offset ist kein muss und geht auch mit Register -1 einzutragen. Man muss nur aufpassen wenn man mal was fixen möchte und evtl. mitm Modbussniffer arbeitet o.ä.
Würde ich auch hinten anstellen.
Nach wie vor bin ich von dem Baustein echt begeistert
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.
Kommentar