Dafür aber Vollzitate. Nicht schön...
Ankündigung
Einklappen
Keine Ankündigung bisher.
LBS: Abfrage von Modbus TCP via Homeserver
Einklappen
X
-
Hallo Sven,
bin gerade dabei mit deinem Baustein meine Fröling Heizung auszulesen, das funktioniert noch nicht.
Zuerst hatte ich mit dem ioBroker angefangen da mir dein Baustein nicht bekannt war, dort hat die abfrage funktioniert.
ioBroker.jpg
Nun versuche ich es mit den gleichen Einstellungen mit deinem Baustein, bekomme aber keine Werte.
homeserver_modbus.jpg
Wo liegt hier der Unterschied?
Kommentar
-
Zitat von SvenB Beitrag anzeigenE8 auf 1 setzen -> BigEndian (wobei das eigentlich bei uint16 keine rolle spielen sollte)
Wenn es das nicht ist. Versuche bitte mal E10 auf -1 zu setzen. Ggf. zählt IObroker anders als der Baustein.
Ist immer die Frage, ob das erste Register mit 1 oder 0 bezeichnet wird.
homeserver_modbus-2.jpg
Kommentar
-
Laut dem hier und einem Screenshot nutzt IObroker auch gern Modicon5 und nennt es alias.
https://github.com/ioBroker/ioBroker.modbus
da unter alias. Sprich dann wird aus 30001 ein inputregister mit Adresse 0 (oder Adresse 1 mit Offset -1)
Kommentar
-
Zitat von SvenB Beitrag anzeigenprobiere bitte auch mal Register 1 statt 30001 - kann sein, dass es modicon ist. Siehe Handbuch.
Vielen Dank für die Hilfe und für die Erstellung solcher Bausteine.
Werde nun den 14185 probieren.
Kommentar
-
Super. Wenn du viel Spaß dran hast findest ja im 1. Post meie Wishlist.
Zum Problem für alle: Modbus hat 16bit, also 65535 Adressen. Irgendwann kam jemand auf die Idee, dass man ja mit Modicon an der ersten Stelle den Registertypen abbilden könnte. Also z.B. alles von 30000-39999 als InputRegister und alles von 40000 bis 49999 als Holding-Register. Er legte aber nicht fest, ob er dann das Register 30000 oder 0 meint. Und ob es Modicon oder nicht ist, schriebt auch fast keiner in seine Doku. Hier bleibt also nur raten.
Es gibt auch 6-Stelliges Modicon. Das ist cool, weil man dann den ganzen Adressraum nutzen und gleichzeitig das Register beschreiben kann. - Hier also 300001
Hat sich leider nicht durchgesetzt. - Bleibt also beim raten / probieren..
- Likes 1
Kommentar
-
Servus zusammen, das hier ist mein erster Post im Forum. Gelesen habe ich aber schon sehr viel. Ich möchte gerne mit meiner Wallbox Compleo Solo Advanced überschuss laden umsetzen. Ich habe mir gedacht ich fange aber erstmal mit dem lesen der Werte über Modbus an. Nun habe ich vom Hersteller die Registerzuordnungen erhalten. Ich kann aber absolut nichts damit anfangen. Habe über google versucht mir die Werte plausibel zu machen aber das hat leider nicht funktioniert.
Nun wollte ich mal fragen ob ihr mir helfen könnt das ich diese Werte verstehe.
Anbei mal ein Beispiel.
Modbus Doku.jpg
Die Wunschliste wird natürlich auch bedient.
Vielen Dank und Beste Grüße
Kommentar
-
Naja, wir gehen hier schon davon aus, dass man sich die Hilfe vom Baustein durchließt und ein Grundverständnis vom HS hat. Hast du?
ansonsten musst du nur die Hex-Adresse in Dezimal um rechnen. 16bit ist int und ob es ein int oder uint ist steht rechts.
der registertyp ganz links. Einfach einstellen.
Kommentar
-
Guten Morgen. Also Grundverständnis vom HS habe ich. Wie man mit den Bausteinen Logiken baut ist kein Problem. Mein Problem liegt in der Umrechung der Adressen. Ich komme aus der CNC Programmierung was erklärt warum ich mit den Logiken kein Problem habe, aber ich tue mich sehr schwer mit den Zahlensystemen die nicht Dezimal sind.
Anleitung habe ich natürlich gelesen. Und die Anwendung sollte kein Problem darstellen sobald ich die richtige Dezimaladresse errechnet habe.
Ich bin inzwischen soweit:
0x0004=4
40000-4999 Holding Register 16bit-register
Also wäre die Adresse in Dez -> 40000+4=40004
Danke für Stoß in die Richtige Richtung.
Kommentar
-
Danke Sven es klappt schon. Da habe ich wohl viel zu kompliziert gedacht.
Modbus Reader debug.jpg
Unter 1 habe ich die Adresse 1 abgefragt. Da es gerade keine Vorgabe von extern gibt machen 100% als Antwort sinn.
Unter 3 habe ich die Adresse 8 abgefragt. Da es eine einzelne Wallbox ist sollte das auch passen.
Unter 4 habe ich die Adresse 6 abgefragt. Ich müsste wahrscheinlich laut Doku die 7 auch abfragen und das dann umrechnen? Ich benötige die Firmware Version nicht. Hier geht's für mich rein um das Verständnis.
Danke nochmal, manchmal kann es so einfach sein.
Kommentar
Kommentar