Modbus Hilfe benötigt - PEACEFAIR PZEM 017 + USR-TCP232-304 Serielle RS485 zu TCP/IP

Hallo zusammen,

ich würde mich freuen wenn mich jemand bei meinem Projekt etwas unterstützen könnte.

Vorweg:

Ich möchte später bei jeder meiner PV Batterien (8 Stück) einzeln die Spannung messen und in IPS visualisieren und überwachen.
Hierfür habe ich mir zum testen folgende 2 Spielerein zugelegt. (Brauch ich nachher für jede Batterie)

[ul]
[li]USR-TCP232-304 Serielle RS485 zu TCP/IP Ethernet Server Converter
[/li][li]Peacefair PZEM-017 DC 0-300V Voltmeter Amperemeter RS485 Modbus
[/li][/ul]

Ich habe das Messgerät testweise mit dem beiliegendem USB Adapter am PC angeschlossen und geschaut ob es funktioniert. Alles gut. Spannung wird angezeigt.

RS485 zu TCP/IP Konverter angeschlossen und konfiguriert.
Man sieht, dass meine in IPS konfigurierte Modbus Instanz/Gateway Daten empfängt (192.168.2.3)


sMtPfXj.jpg
yvJ4jYe.jpg
WoJT3w1.jpg

IPS Debug vom Gateway:

Ich schnall die —> Anleitung <— aber nicht so ganz was die Register Adressen angeht.
Ich möchte nur die Spannung auslesen.

Habe alles ausprobiert… wobei mir die Adresse nicht klar ist. Denn Register Adress 0x0000 ist doch keine Adress die ich in IPS eintragen kann oder ? Das wäre doch eigentlich dann eine „0“ Hab ich beides ausprobiert.

Einheit in IPS wäre doch INT64 oder Real64 oder ? Denn in der Anleitung steht „The command format of the master reads the measurement result is(total of 8 bytes):“
8 bytes sind doch 64 Bit… ?! Habe auch alle anderen Einheiten probiert.

Read Holding Register
Read Input Register

Naja ich habe jedenfalls alle nur erdenklichen Konfigurationen ausprobiert aber bekomme keine Werte ausgelesen. :confused:

Nun hoffe ich auf Eure Erfahrung :smiley:

EDIT: Läuft jetzt alles dank eines vernünftigen Modbus TCP/IP Gateways von Moxa (MGate MB3180). Ich mag es ja auch billig und kauf viel China Kram… aber das 17€ Modbus Gateway konnte nicht mehr als 2 Modbus Geräte abfragen…

Gruß
Christian

Bevor du mit Adressen anfängst, bitte zeig die Einstellungen von dem USR.
Wenn dort irgendwo als Funktion ModBus RTU eingestellt ist, deaktiviere es bzw stell den Modus auf RAW oder ähnliches um.
In IPS dann im Gateway auf ModBus RTU over TCP einstellen.
Dann kannst du mit Registern anfangen.
Hatte gerade den Fall das der USR beim konvertieren von ModBus TCP zu ModBus RTU die Pakete durchgewürfelt hat.
Deswegen erst so ausprobieren.
Michael

Hallo Michael,

hier mal meine Versuche und die Screenshots damit du die Einstellungen siehst.

Modbus TCP über UDP

Modbus RTU über TCP

Modbus TCP

Und hier noch Einstellungen bei denen ich glaub ich nichts ändern sollte… Sagt mir soweit nichts.

Wenn du hinter dem Work Mode keine Einstellungen hast, dann wandelt dein Geräte nicht.
Dann ist TCP Server im USR und ModBus RTU over TCP in IPS die richtige Einstellung.
Michael

Ok, hab ich jetzt in ips so konfiguriert…Danke !

Kannst du mir bei den Adressen etc. helfen ? Ich kenne das ja von meinen SMA Wechselrichtern, aber da ist das einfach besser bzw einfacher dokumentiert. :confused:

Eigentlich nur umrechnen von Hex in dezimal.
Da die Konsole nur Dezimal kann.
Das Beispiel in der Anleitung zeigt ja was bei Adresse 0 IPS senden und das Gerät antworten soll.
Dazu auf jeden Fall in den Debug vom ClientSocket schauen, da ist das ganze Paket zu sehen und nicht nur der Teil vom Gateway.
Michael

Mein Problem ist, dass das Debugfenster beim clientsocket immer leer bleibt.
Das verunsichert mich etwas…

Dann ist im Gateway der falsche IO eingetragen.
Michael

Meinst du damit die Geräte ID ?

Sollte eigentlich 1 sein… wenn ich 2… 3 oder 4 test ändert sich auch nichts :banghead:

Hmmm irgendwie tricky :stuck_out_tongue:

Nein… Schau Mal ganz unten im Gateway.
Da steht was von übergeordnete Instanz.
Das muss natürlich der ClientSocket sein wo du IP und Port eingestellt hast.
Michael

Achsooo nee :smiley: Das wäre ja zu einfach. Da hab ich schon drauf geachtet.

Das ist aber die ModBus Instanz.
Und was ist im ModBus Gateway eingetragen?
Wenn nix im Debug des ClientSocket auftaucht, dann kann da nichts funktionieren.
Michael

Du bist ja auch schon früh am Start :smiley:
Alles wie es sein soll, deshalb verstehe ich das ja nicht :wink:

Guten Morgen… nach einem Kaffe schaue ich auch in den Debug vom Client Socket und nicht von der Instanz selbst. Sorry.

Alle Einheiten und Funktionen durchprobiert…

Stell Mal auf Function 04.
Es sollte dann wenigstens eine Antwort vom Gerät kommen.
Michael

Hi,

für solche fälle benutze ich eine ModBus Software. zb. Modbus Poll von modbustools.com

Gruß

Auch auf 04 kommt nix zurück. Habe am WE leider jetzt keine Zeit weiter zu testen.
Vielen Dank für eure Hilfe und dem Tip mit Modbus Poll. Kannte ich noch nicht.
Schaue ich mir am Montag an :slight_smile: Bin schon gespannt und gebe Rückmeldung.

Viel Erfolg.
Wenn gar nichts zurück kommt, dann tippe ich ja schon auf ein physikalisches Problem (a / b vertauscht ?).
Michael

Das hatte ich auch schon in Verdacht, aber 10 mal gecheckt. Vielleicht haben die Chinesen den Aufkleber nicht korrekt bedruck und ich tausche A und B einfach mal ^^
Kann ich aber erst Monatg checken. Habs gerade vom Hotel aus per VPN mit einem Modus Toll Tool aufm Mac probiert… Concecten kann er das URT teil nur kommen keine Antworten vom Messgerät dahinter. Ich check das Montag noch ma alles. Leider hat das Messgerät keine LED mit der man prüfen kann, ob es läuft ^^
7V sollten mindestens am Messpunkt anliegen, damit das Ding funktioniert. 12 V liegen an, also eigentlich alles roger.

Moin,

so, wieder zu Hause und gleich erstmal das Messgerät direkt per seriel -> USB Adapter am PC angeschlossen um erstmal eine Fehlerquelle (USR) auszuschließen.

Modbus Poll angeworfen. Kenne mich damit nicht wirklich aus. Connection steht, aber bekomme immer illegal Data Address. Egal was ich bei Address eintrage. Laut Anleitung soll es ja 0 sein. In der original Software selbst steht Address 1. Aber auch mit 1 klappt das nicht beim Modbus Poll.


Original Software funktioniert.

Noch ne Idee wie ich hier aktuell weiter komme ?