NEWS
[Gelöst] Waveshare RS485 to ETH um WR auszulesen, wie?
-
@wolfgang_muc @ostseeskipper @Glasfaser
Hallo zusammen,
ich habe mir auch einen Waveshare RS485 to ETH zugelegt um damit meinen RS485 fähigen Sunsynk WR via modbus auszulesen. Ich habe mir das entsprechende Kabel gebastelt und versuche nun Daten zu bekommen, habe aber wohl Probleme das Gerät richtig zu konfigurieren.
Der Waveshare wird im Netz gefunden und ich habe folgende Einstellungen vorgenommen:
Current Status sieht dann aber so aus:
USR-VCOM zeigt mir folgendes an, wenn ich einen TCP-Server einrichte:
Die Einstellungen wären dabei:
Im ioBroker Modbus Adapter habe ich folgendes eingestellt:
Die modbus Register des Sunsynk sind hier verzeichnet:
sunsynk_modbus.pdfKann mir einer helfen wie ich das richtig einstellen muss? Einmal muss es ja erst mal klappen, dass ich eine korrekte Verbindung zum Server bekomme, bisher erscheint im Log aus Debug:
modbus.0 2022-03-17 18:14:10.175 warn On error: {"errno":-110,"code":"ETIMEDOUT","syscall":"connect","address":"192.168.1.177","port":502} modbus.0 2022-03-17 18:14:10.174 error Client in error state. modbus.0 2022-03-17 18:14:10.173 error Socket Error
Und dann wäre da noch die mobus Konfiguration, damit der Waveshare auch die richtigen Daten abholt. Kann ich eigentlich die Verbindung zwischen Waveshare und WR irgendwie testen?
-
Hallo,
ich hatte es doch in https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b/58 dargstellt, wie man es konfigurieren muss.
Du brauchst die Software vircom von waveshare, weil man über die Web Oberfläche nicht alles konfigurieren kann.
Im iobroker, wird es als TCP und nicht alt TCP/RTU Verbindung eingerichtet.
Im Modbus Adapter musst du auf die Eingangsregister gehen.VG
Wolfgang -
@wolfgang_muc Danke für die Antwort. Ich habe nicht den Hutschienen Adapter sondern diesen
Da läuft das Vircom Setup Programm nicht, bzw. er findet ihn nicht. Es gibt ein eigenes Tool für das Setup, aber das sieht etwas anders aus.
Er stellt irgendwie aber keine Verbindung mit dem Teil her, obwohl ich über das Webinterface darauf zugreifen kann. Muss ich den als Server oder als Client betreiben? Ich dachte das sei ein Client und dann müsste ich bei diesem die IP des Servers (PI4) einstellen, aber trotzdem werden nur 2 von drei Buttons grün...? Ich habe ihn aber auch schon versucht als Server zum laufen zu bringen, war auch nichts bisher...irgendwas mache ich wohl falsch...
-
@Wolfgang_Muc Jetzt weiss ich warum der keine Verbindung bekommt. Bei der Version die ich habe, hat Waveshare kein Modbus eingebaut. Habe ich nicht exakt nachgesehen - blöd gelaufen.
Wie kriege ich den denn nun noch eingebunden? Irgendwie muss der sich ja auch auslesen und beschreiben lassen...
-
@joergh
RTU over TCP nutzt andere Ports als Modbus TCP
Musst auf beiden Seiten das gleiche einstellen. -
@ostseeskipper Das habe ich gemacht. Egal ob Port 502 auf beiden Seiten oder nicht, er verbindet sich nicht. Muss ich eigentlich im ioBroker Modbus-Adapter die IP des Clients eingeben oder muss ich nur im Waveshare die IP des PI eintragen oder beides?
modbus.0 2022-03-18 20:13:52.989 warn On error: {"errno":-111,"code":"ECONNREFUSED","syscall":"connect","address":"192.168.1.7","port":502} modbus.0 2022-03-18 20:13:52.988 error Client in error state. modbus.0 2022-03-18 20:13:52.985 error Socket Error
-
@ostseeskipper Ok, jetzt habe ich noch einmal alles mögliche ausprobiert und er verbindet sich. Allerdings kann er wohl die Daten nicht aus dem Wechselrichter bekommen, so wie ich das verstehe. Korrekt?
modbus.0 2022-03-18 20:26:36.222 info Disconnected from slave 192.168.1.7 modbus.0 2022-03-18 20:26:35.225 warn Poll error count: 2 code: {"err":"timeout","timeout":5000} modbus.0 2022-03-18 20:26:35.223 error Client in error state. modbus.0 2022-03-18 20:26:35.221 error Request timed out. modbus.0 2022-03-18 20:26:35.220 warn Error: undefined modbus.0 2022-03-18 20:26:30.216 info Connected to slave modbus.0 2022-03-18 20:25:30.211 info Disconnected from slave 192.168.1.7 modbus.0 2022-03-18 20:25:29.214 warn Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2022-03-18 20:25:29.210 error Client in error state. modbus.0 2022-03-18 20:25:29.209 error Request timed out. modbus.0 2022-03-18 20:25:29.207 warn Error: undefined modbus.0 2022-03-18 20:25:24.196 info Connected to slave modbus.0 2022-03-18 20:25:23.775 info starting. Version 3.4.17 in /opt/iobroker/node_modules/iobroker.modbus, node: v14.19.0, js-controller: 4.0.21
-
@joergh So wie es aussieht kann er ja die Verbindung nun zum Waveshare Server herstellen. Um Daten abrufen zu können, muss ich laut Modbus Anleitung 0x03, die Registeradresse und die Anzahl senden. Wie stelle ich das im Modbus Adapter ein?
-
@joergh Ok, habs nun hinbekommen. Das Eingangsregister welches ich eingegeben hatte war falsch. Das konnte man nur lesen.
-
@joergh Den hatte ich auch gekauft, aber er kann halt kein Modbus. Muss man als Lehrgeld verbuchen.
-
@wolfgang_muc Ich habe es dann aber hinbekommt, da ich RTU über TCP nutze und der WR Modbus hat, funktioniert alles nun auch über den Modbus Adapter des ioBrokers. Insofern nach einiger Verwirrung habe ich wieder was gelernt und am Ende läuft es
-
@joergh Hallo Jörg,
ich frue mich daß das bei Die jetzt alles klappt.Kannst Du mir die Einstellungen im Modbus adapter nennen, damit das auslesen beim Sunsynk funktioniert?
Die Register sind doch alle in dezimal.Andi
-
Anbei die Einstellungen die ich verwende. Ich bekomme aber auch hin- und wieder Fehlermeldung, was aber wohl an meinem Kabel liegt, vermute ich. Wenn es Fehlermeldungen gibt, würde ich einfach den Haken mal bei "Abfrage" mal sukzessive entfernen und dann gucken, ob es klappt. Viel Spaß!
-
Frage an die Waveshare Nutzer: Was machen Eure Geräte, wenn man mal kurz die LAN Leitung abzieht und wieder aufsteckt? Was machen die Geräte nach einem Power up?
Ich habe den neuen Waveshare DIN rail "RS485 TO POE ETH (B):Hardware upgrade version, can support PoE network port power supply, can also support 6~36V wide voltage via terminal block, with electrical isolation." an einem SDM630 Stromzähler (Beispiel)
Klingt gut und funktioniert auch stabil - wenn er mal richtig angelaufen ist und wenn man ihm das LAN nicht unterbricht.
Wenn man den LAN-Stecker kurz abzieht und wieder aufsteckt, reconnected er nicht mehr - geht nicht mehr ins LAN. Und nicht jeder Neustart führt zu einer erfolgreichen Einbindung ins LAN. Man braucht immer einige power cycles.Der Waveshare support empfiehlt irgendwelche timeouts zu aktivieren. Hilft aber nicht. Es gibt auch keine neuere Firmware. So eigentlich nicht wirklich nutzbar. Gerade ein DIN rail Gerät sollte rocksolid funktionieren.
Edit: Problem gelöst: direkt an der Fritte 7590 treten die o.g. Probleme auf. Switch dazwischen 100MBit oder GBit und das Waveshare Gerät reconnected zuverlässig.
-
@klassisch Ich habe den gleichen Adapter, kann aber nicht die serielle Verbindung herstellen. Der integrierte Webserver ist erreichbar, sowohl mit Wifi wie auch mit Ethernet, aber Port 8899 (angeblich offen für RS232/485) ist geschlossen und AT-Befehle kommen nicht an. Könnt ihr mir helfen? Bin gerne bereit ein Mittagessen zu spendieren!
-
@aagaag
Poste doch mal ein paar Screenshots von Deinen Einstellungen. Ich habe ehrlich gesagt noch nicht ganz Dein Setup verstanden. Du hast einen RS232/485 to ETH per LAN im Netz eingebunden und der soll per RS485 Daten holen?
Funktioniert die Datenabfrage per RS485?
Du möchtest dann über den Port 8899 die Daten per Modbus abholen, korrekt? -
@joergh danke, ich werde gleich screenshots machen. Ich habe einen Ultraschall-Windmesser, der gibt Daten heraus als ASCII nach dem NMEA-Protokoll auf 2 Drähte heraus. Diese Daten müssen den Server erreichen, und ich versuche den Waveshare als STAT zu konfigurieren (über den integrierten Webserver) so dass es sich automatisch in den Wifi-Netz einklinkt und die Daten weitergibt. Bisher habe ich versucht, die Daten versuchsweise mit Putty zu holen, um sicherzustellen dass sie überhaupt ankommen (Putty: TCP, Raw, Port 8899, gleiche IP wie der Webserver). Es kommt aber nichts durch und ich kann auch keine AT-Befehle mit Putty absetzen.
-
-
Success!!!!!
-
entscheidend war das.
und das im IP-Symcom (gilt aber auch für andere Software):