Modbus RTU auf TCP

Das sollte alles erklären.
Nimm die RS485 :slight_smile:

Vielen lieben Dank für die Antworten. Nur komme ich leider immer noch nicht weiter. Irgendwo klemmt’s hier.
Ich habe ein Kabel mit RJ12 an der Wärmepumpe und gehe damit zum EX6051. Config der EX6051 wie oben, Anschluss wie folgt:



Ich habe auch schon die beiden Adern vertauscht (+/-). Zum Testen verwende ich „Modbus Poll“. Gerne aber auch etwas anderes, falls jemand einen Vorschlag hat, wie ich die Register Auslesen kann. Hauptsache, ich bekomme überhaupt mal was gelesen. Derzeit immer nur „Timeout“ in der Software, wenn es ums Auslesen geht. Verbindung klappt stets.

Morgen!
Ich habe ebenfalls eine Dimplex DHW 300 und versuche diese anzubinden.
Auf der Suche nach Infos, welche fast nicht zu finden sind, bin ich hier gelandet.
Evtl. kommen wir gemeinsam zum Erfolg.
Als „Übersetzer“ benutze ich das Gerät „Waveshare RS485 to RJ45 Ethernet Converter“.

In der Doku „PV Optimierer“ von Dimplex habe die Belegung des RJ12 (RJ11 würde auch funktionieren) herausgefunden.

Hast du schon Register zur Abfrage? Die im Dimplex Wiki angegebenen sind ja für eine Wärmepumpen-Heizung. Meinst du die würden passen?

Ich doktor mal an meiner weiter. Hoffe es gelingt mir an die Werte zu kommen.

Sehr gerne können wir versuchen eine Lösung zusammen zu finden. Ich komme erst am Wochenende wieder dazu, einmal zu testen.
Register habe ich keine spezifischen zur Abfrage, aber habe es schon mit einigen zwischen 1-10 versucht. Da müssten Werte rüberkommen.
Auf Deinem Schaubild sehe ich noch, dass Pin 2+5 beide mit Ground belegt sind. Hatte bisher nur einen davon. Versuche ich also auch gern mal. Pin 3+4 vom RJ12 ist bei mit Tx-/Tx+. Habe diese auch schon vertauscht.
Was verwendest Du zum Abfragen?

Also wenn Du von der WP keine Daten bekommst, dann solltest Du erst einmal bei den Roots anfangen und in der WP nachsehen welche Softwareversion da drauf ist. Wenn Du nämlich die H Version drauf hast, dann wirst Du wohl auf den ersten 10 Registern nichts finden, da die dort nichts schreibt.
Im Dimplex Wiki ist das sehr gut beschrieben und Du solltest erst einmal einen DP scannen der in allen Versionen verfügbar ist um zu testen ob Du überhaupt was bekommst.
Danach kannst Du dann anfangen den Rest aufzubröseln gem. dem Wiki und der Verifizierung mit der Pumpe die Du ja daneben stehen hast.

Für die Anschlußprobleme kannst Du auch direkt auf den Modbus Anschluss draufgehen, dann hast Du den RJ 11 aus dem Weg als Fehlerquelle. Im Nachgang kannst Du dort immer noch rausbringen die die Belegung bei Dir funktioniert.

ModbusPoll ist schon das richtige Programm um das auszulesen, ist allerdings von den Konfigurationsmöglichkeiten für einen Anfänger sehr mächtig. Ich würde BBCOMTESTPRO mal versuchen, da es sehr einfach vom Aufbau her ist und auch frei verfügbar.

Ich hoffe das hilft ein wenig für den Anfang, berichte mal wie es läuft.

Also bei mir läuft es … NICHT.
Komme einfach nicht weiter.
Möchte aber hier mein Gerät nicht ausschließen, deshalb habe ich mir ein USB-Stick bestellt und danke Ronoon einen Tip zur Software. Versuche es umgehend, wenn der Stick da ist, über den PC.

Es kann doch nicht so schwer sein… :sunglasses:

Wie gesagt, einfach direkt dran an den Modbus und dann die richtigen Register…
Bei mir geht das immer ohne Probleme :slight_smile:

Welche WP hast du? Auch die 300er Brauchwasserwärmepumpe?

Ich habe keine, schalte die Dinger aber beruflich auf, auf Gebäudeleittechniksysteme😎
Allerdings mit einem anderen System als Symcon, aber das Prinzip ist das gleiche .

Im Wiki sind doch nur die Informationen zu den Erweiterungen verfügbar, d.h. wenn ich bestimmte „Platinen“ aufstecke. Ich möchte aber direkt auf die Hauptplatine gehen, die ja einen Modbus-Anschluss hat, und dazu habe ich keine Register-Informationen im Wiki gefunden (oder übersehen).

Das Programm BBCOMTESTPRO sieht gut aus. Morgen kann ich mal mit einem USB-Adapter zu RS485 einen Test machen. Bin gespannt! Danke erstmal für die Tipps und ich werde berichten.

Welche WP hast du? Auch die 300er Brauchwasserwärmepumpe?

Du willst auch die DHW 300er ohne zusätzliche Erweiterung verwenden, richtig? Also direkt auf die Hauptplatine?!

Ja genau. Das soll ja funktionieren. Bin gespannt wann der Stick kommt. Denke Anfang der nächsten Woche

Ich habe jetzt mal den Waveshare USB-to-RS485 ab morgen. Dann werde ich mal testen, ob ich mit der Verbindung Daten ausgelesen bekomme.

Ok…
Nachdem ich nun mal tiefer eingestiegen bin verstehe ich Dein Problem und was ich geschrieben habe gilt für die etwas größeren Maschinen. Bei Deinem Gerät kommt ein anderes Interface zum Einsatz und somit muss etwas anders vorgegangen werden da die Daten im Netz noch nicht vorhanden sind.

Bitte einmal mit Dimplex unter der folgenden Adresse Kontakt aufnehmen, laut IO Broker Forum geht das dort meist innerhalb einer Stunde mit der Antwort.

Kontakt aufnehmen | Dimplex

Dazu wird Seriennummer/Baujahr etc. benötigt, die habe ich leider nicht zur Verfügung.

Wenn Du die Modbus Registerbelegung von dort bekommen hast, dann kann ich Dir da bestimmt weiterhelfen.

Danke für die Aufklärung. Dachte schon, ich hätte was übersehen.

Ich werde mal nachfragen, wie das Register aussieht. Dachte nur, wenn ich die erste 20-50 Register abfrage, müssten mindestens ein paar Rückmeldungen kommen, auch wenn nicht alle vorhanden sind.

Problem ist die Identifikation was da drin steht oder du must jedes Register mit dem Display vergleichen :frowning:
Hab ich mal gemacht in den Anfangszeiten als die Doku mal nicht gestimmt hat… macht keinen Spass und kostet viel Zeit.
Dann lieber den kleinen Umweg über Dimplex und beruhigt schlafen.

Wenn Du bei Dimplex wider erwarten nicht weiter kommst, sag Bescheid, ich werde dann über meine Firma das anfordern. Wir haben da gewisse Beziehungen :slight_smile:

Ja, das hast Du Recht. In Schritt eins wäre ich zufrieden, wenn überhaupt Daten kommen. Dann weiß ich, dass die Verbindung steht. Für Schritt 2 ist die Doku definitiv unerlässlich. Gibt zu viele Register als nur zu raten, was was ist…

Habe es nun mit einem USB-RS485 versucht und dem Programm BBCOMTESTPRO.
Dort bekomme ich „no response received“.

17:13:11.800: ===========================[Serial Port Setup]=========================================
17:13:11.801: Com3, Baud Rate: 19200, Data Bits: 8 Bits, Parity: Even, Stop Bits: 1 Stop Bit
17:13:11.801: Echoback: Off, RTS Control: Off, Transmit Delay: 5 ms, Response Delay: 100 ms
17:13:11.801: 
=======================================================================================
17:13:11.801: Read Holding Register(s)
17:13:11.801: Device Address: 01h, Register: 0FA0h, Number of Registers: 100
17:13:11.801: |-> Read Register: 0FA0h, Number of Registers : 100
17:13:11.816: -> [01h] [03h] [0Fh] [A0h] [00h] [64h] [47h] [17h] 
17:13:11.930: Error > No response received.

Odie, was hast Du denn für Einstellungen im Service-Menü der DHW? Bei mir:

  • Modus BMS
  • Adresse 2
  • Baudrate 19200
  • Parität E

Moin moin

verstehe gerade nicht was Du da lesen willst.

  • BMS ist ADR 2 und Du liest mit der ADR 1 das sagt das erste Byte aus (01h)
  • Statt der 03 Read holding registers kannst Du mal 04 read input registers lesen
  • Du solltest nicht davon ausgehen das das Ding 100 Register auf einmal lesen/rausgeben kann also mal langsam mit 10 Registern anfangen
  • Dann kannst Du mal prüfen ob statt A-B der Anschluß gedreht werden muss auf B-A wenn Du die Adresse geändert hast.
  • Die Modbus Register die Du lesen willst fangen eigentlich bei 40000 oder 40001 an Du hast aber nur 4000 in Deiner Anfrage drin (Read Register: 0FA0h= 4000)
    Berichte mal was sich ändert

ADR hatte ich auch schon mit 2 versucht. Hatte gestern ziemlich viel ausprobiert, so auch einzelne Register, unterschiedliche Nummern.

Jetzt aktueller Test:

16:13:08.112: ===========================[Serial Port Setup]=========================================
16:13:08.112: Com3, Baud Rate: 19200, Data Bits: 8 Bits, Parity: Even, Stop Bits: 1 Stop Bit
16:13:08.112: Echoback: Off, RTS Control: Off, Transmit Delay: 5 ms, Response Delay: 100 ms
16:13:08.112: =======================================================================================
16:13:08.112: Read Holding Register(s)
16:13:08.112: Device Address: 02h, Register: 9C41h, Number of Registers: 5
16:13:08.112: |-> Read Register: 9C41h, Number of Registers : 5
16:13:08.128: -> [02h] [04h] [9Ch] [41h] [00h] [05h] [4Eh] [7Eh] 
16:13:08.241: <- [00h] [02h] [84h] [02h] [32h] [C1h] [00h] 
16:13:08.241: Error > Invalid checksum in response.

Heißt das, da kommt was?