NEWS
UNSOLVED Frage zu Modbus Adapter - TCP als Slave verwenden?
-
@nkel danke!
dann weiss ich das jetzt auch!du müsstest also irgendwo Daten hinlegen, die irgendwie mit einem Register verknüpft werden, damit dein EMS dieses abrufen kann.
-
@homoran ja genau
Ich hatte schon einen alias datenpunkt angelegt, in dem ein onlinewert von der Wallbox geschrieben wurde. Aber ich habe dann die Verknüpfung zum Register nicht hinbekommen. -
@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
Aber ich habe dann die Verknüpfung zum Register nicht hinbekommen.
hab das mal aus dem nerdfreien Einsteigerforum hierher verschoben weil es mich jetzt auch interessiert.
Das muss doch zu schaffen sein, wenn du meinst, dass dafür der Slave Modus da ist.Ich würde Register mit entsprechenden IDs anlegen.
Leider erscheinen die in Master-modus erst in den Objekten wenn die Verbindung steht.Wenn diese Register im Slavemodus sofort in den Objekten erscheinen würde ich diese befüllen.
-
@homoran ich kann erst am Wochenende weiterprobieren. Ich weiß nur noch nicht, wie ich diese Register „befüllen“ kann.
-
@nkel notfalls über ein Skript.
Aber dazu müsste der Adapter erst einmal die Datenpunkte anlegen.Vielleicht hat @wendy2702 noch eine Idee, mir fällt gerade kein anderer Modbus Spezi ein.
-
@homoran Ich weiss das wir das Thema schonmal hatten, kann mich aber nicht dran erinnern ob wir es gelöst haben.
Ich selber nutze das nicht und habe das auch mangels HW nie getestet.
@nkel : wo genau änderst du den Wert denn händisch? Im Objekt? Wenn ja mal versucht den per einfachem Blockly zu ändern/aktualisieren?
-
@wendy2702 ich werde am Wochenende weitermachen, bin gerade nicht an meinem System. Danke für eure Unterstützung und bis demnächst.
-
@wendy2702 Ja ich habe den Wert händisch im Objekt geändert, siehe Screenshot. Ich habe dann mal den Wert "100" eingegeben und dann wurde auch "100" in das externe Modbus-Testprogramm übertragen.
Ich weiß leider noch nicht, was ein Blockly ist, kannst du mir das bitte erklären, wie ich den Wert mittels Blockly ändern oder aktualisieren kann? -
@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
ich habe den Wert händisch im Objekt geändert,
wie genau gemacht?
Die gelbe Farbe bedeutet eigentlich, dass dieser Wert noch nie geändert wurde.@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
Ich weiß leider noch nicht, was ein Blockly ist
Blockly ist die grafische Variante von Javascript.
Damit kann man ein Skribt über Blöcke zusammenklicken -
@nkel Ich bin gerade an genau dem gleichen Punkt. Auch ich versuche den Modbus Adapter als Slave zu betreiben, um ihn dann aus einem weiteren System auszulesen.
Interessant ist die Slave IP Adresse im Slave Modus. Da kann ich nur zwischen 3 Adressen wählen. Localhost, Listen on all und 172.17.0.4. Das verstehe ich überhaupt nicht. Da würde ich eigentlich die IP des Hosts erwarten.
Und in diesem Mode müssten ja dann den gewünschten Registern Datenpunkte übergeben werden.Ich hoffe der Adapter lässt sich wie gewünscht als Slave verwenden, mit der richtigen Konfiguration.
-
@homoran Ich habe einfach auf den Wert geklickt und dann den neuen Wert eingegeben und bestätigt.
-
@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
bestätigt
zum Glück anscheinend nicht
keine Checkbox bei bestätigt setzen!aber warum ist die Zahl noch 0 und gelb?
jetzt ist ok!
100 und weiß -
@homoran Kannst du mit erklären, wie ich das mit dem Blockly machen kann? Ich finde unter Adapter nichts, dass so oder so ähnlich heißt, um es zu installieren.
-
@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
finde unter Adapter nichts,
@homoran sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
Javascript
oder Skriptausführung
da klickst du dir folgendes zusammen (ohne gelbe Kommentare)
rote Blöcke aus Trigger,
im Trigger die ID Des Wechselrichter DP auswählen
den kleinen auf WERT umstellenein blauer aus System
dort die ID des Modbus DP auswählen -
@homoran Es funktioniert jetzt. Das war ein super Tipp mit dem Blockly.
Allerdings habe ich einen noch einfacheren Weg gefunden. Die Objekt-IDs sind jetzt verbunden, aber wenn der Wert in den Modbus-Datenpunkt geschrieben wird ist er erst grün, dann kurz weiß und dann rot. Was sagt mir das? Ich habe den korrekten Wert aber über Modbus ausgeben können. Siehe Screenshots.Original-Datenpunkt von der Wallbox:
Modbus-Datenpunkt:
Modbus-Testprogramm:
Blockly:
-
@nkel sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
aber wenn der Wert in den Modbus-Datenpunkt geschrieben wird ist er erst grün, dann kurz weiß und dann rot
grün = neuer Wert gekommen
weiß = vom ZielAdapter übernommen
rot = wurde geschrieben aber nicht übernommenBei binde muss ich auch immer suchen wer an wen gebunden werden muss.
Ob dabei mit dem ACK Flag (ist für rot und weiß verantwortlich) was zu beachten ist, weiß ich nicht. -
@nkel Nochmals meine Frage betreffend der Verbindungsparamter. Ich versuche den Adapter als Modbus Slave zu betreiben und die Slave-IP Adressen zur Auswahl sind die Folgenden
Schaut das bei dir auch so aus?
Wenn ja, was hast du ausgewählt?Und egal was ich auswähle, ich erhalte folgende Fehlermeldung bei der Instanz
Hast du mir einen Tipp was ich falsch mache?
Besten Dank -
@longjogger951 Du machst nichts falsch. Ich habe bei mir die IP-Adresse von meinem Laptop ausgewählt. Der von dir gezeigte Fehler ist kein Fehler. Es zeigt nur, dass noch keine Verbindung zu einem Modbus-Master besteht. Sobald du dich mit einem Modbus-Master verbindest wird der Verbindungsstatus grün.
-
@longjogger951 sagte in Frage zu Modbus Adapter - TCP als Slave verwenden?:
Da würde ich eigentlich die IP des Hosts erwarten.
die wäre?
welcher Host?
-
@homoran ich betreibe ioBroker auf meinem NAS in einem Docker. So würde ich eigentlich die IP des NAS zur Auswahl erwarten. In meinem konkreten Fall ist das die 192.168.1.2.
Da ich diese IP nicht zur Auswahl habe, stelle ich 172.17.0.4 ein. Und versuche dann mit einem Modbus Master darauf zuzugreiffen. Aber ich erhalte keine Verbindung?@nkel Hast du denn die IP des Slaves einstellen können? Sprich du hast nicht die Auswahl der 3 IP's wie in meinem Screenshot?