NEWS
Modbus - Erste Schritte
-
Konnte das Problem fixen. Bitte updaten.
-
Irgendwie lässt sich nun der Adapter nicht mehr aus dem Admin updaten.
Ich mache eigentlich nichts anders, als die letzten Tage :?
ioBroker läuft auf einer Windows Kiste
1534_bild003.png -
Stop mal Adapter vom update
-
Die Fehlermeldung sagt es doch in der letzten Zeile:
Als Administrator ausführen!
Gruß
Rainer
-
Die Fehlermeldung sagt es doch in der letzten Zeile:
Als Administrator ausführen!
Gruß
Rainer `
Bin gerade dran, die Console vom Server aus durchlaufen zu lassen. Ich habe mich nur gewundert, dass es nun plötzlich aus dem Admin raus nicht mehr geht.Edit: Update ist durch und was soll ich sagen - sieht SEHR gut aus 8-)
-
bei DWORDs scheint das Problem
http://forum.iobroker.net/viewtopic.php?p=37534#p37534
auch da zu sein.
Ich benutze Signed 32 Bit (Big Endian Word Swap)
Brauchst du wieder WiresharK?
-
bei DWORDs scheint das Problem
http://forum.iobroker.net/viewtopic.php?p=37534#p37534
auch da zu sein.
Ich benutze Signed 32 Bit (Big Endian Word Swap)
Brauchst du wieder WiresharK? `
Ja.Auf den ersten Blick. Sehe ich kein Fehler.
-
Ich möchte z.B. den Wert 658519 auf Adresse 14288 schreiben:
-
Ich möchte z.B. den Wert 658519 auf Adresse 14288 schreiben:
Bild 001.png `
Danke. Gefixt. -
Hi Bluefox,
super Arbeit. Sieht sehr gut aus. Ich werde jetzt am WE sicherlich mal intensiver testen können, wo es mal langsam läuft.
-
Ich vermute immer noch nen kleines Problem bei den BYTE Adressen.
Ich glaube, dass die mit nem Update kamen, da es mal ging.
Adressen in der WAGO:
Folgendes kommt in ioBroker an:
Wireshark:
-
Es fehlt noch, wie du das im IoB konfiguriert hast.
Gibt es überhaupt Byte Adressen???
In IoB gibt die nicht.
-
wie die anderen funktionierenden auch Signed 16 Bit (Little Endian).
EDIT: Komisch ist, dass die Daten auch im Modbus Master Simulator "falsch" angezeigt werden.
EDIT2: Ich habe mir mal schnell nen Script in PHP geschrieben.
Benutzt habe ich readMultipleRegisters() aus folgender Library https://github.com/adduc/phpmodbus
-
Ich muss ehrlich sagen, ich verstehe es jetzt wenig.
Wenn ich 65535 als Signed LE Int16 behandle, dann kommt -1 raus.
65535 => 0xFFFF => -1(signed) oder 65535 (Unsigned)
65280 => 0xFF00 => -255(signed) oder 65280 (unsigned)
Ich habe trotzdem noch (u)int8 eingebaut. Dein fall sollte Uint8(Big endian) sein
-
Hi, auf dem ersten Blick ändert sich leider nichts. :?
Die Werte bleiben gleich dem 16 Bit. Habe auch die anderen 8Bit Möglichkeiten ohne Erfolg durchgetestet.
Konntest du die LIB einmal anschauen, was die anders macht, wie dein Adapter?
-
Wie hast du deine Werte konfiguriert?
Bei mir geht es.
-
Auch so, wie bei dir
EDIT: Wenn ich den Host Neustarte, dann nimmt er es auch und ich sehe bei 8Bit Big Endian den richtigen Wert.
Nichts desto trotz ist es ja in der Wago ein und der gleiche Datentyp und man muss aktuell immer testen, welchen Typ man in ioBroker nimmt. Denn endweder geht es mit 8Bit oder 16Bit.
In meinem PHP Script kann ich es doch auch sauber auslesen und vor einigen Tagen klappte es auch in ioBroker noch einwandfrei. Meines Erachtens ist noch irgendwo im Adapter ein Bug. Leider steige ich nicht hinter denen Code und kann es auch nicht sauber debuggen
EDIT2: Was anderes wie den Wert 255 kennt er bei 8Bit bei mir aber auch nicht :lol: Unabhängig was in der Wago auf der Adresse hinterlegt ist.
1534_bild001.png -
Hilft das hier vielleicht?
Links der Simulator - kennst du ja
Rechts die in der Wago hinterlegten Werte in der LIVE Ansicht.
1534_bild001.png -
Ich habe jetzt so gemacht wie bei dir. Slave Simulator liest gleiche Werte.
Bei mir GEHT alles.Ich habe nichts geändert, aber update mal vom git noch mal und starte Adapter neu.
Irgendwo muss doch der Fehler liegen.
-
Hallo,
hat schonmal jemand versucht den Energiezähler SDM630 über modbus RTU anzubinden?
Ich habe da so meine Probleme mit. Siehe hier: http://forum.iobroker.net/viewtopic.php?f=8&t=3994
Wenn da jemand eine idee hat wäre das toll.. momentan gehe ich über den umweg der umsetzunf von Modbus RTU nach Modbus TCP mittels http://mbus.sourceforge.net/index.html würde das mir aber lieber sparen.