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

Edit, in Deiner verlinkten Anleitung steht, dass Du Modbus Funktionscode 4 nehmen mußt !

Es gibt einen definierten Satz von Ausnahmecodes, die von den Slaves beim Auftreten von Problemen zurückgemeldet werden. Alle Ausnahmen in der Antwort vom Slave werden dadurch signalisiert, dass der Slave dem Funktionscode der Anforderung 80 Hex hinzufügt und diesem Byte einen Ausnahmecode folgen lässt.

In Deinem Falle bedeutet die Hexzahl 83 , dass ein „Unzulässiger Datenwert“ oder " Register zum Datenlesen nicht zulässig" als Befehl gesendet wird, noch ein Zitat

Ein Wert im Datenfeld der Abfrage ist für den adressierten Speicherort nicht zulässig. Dies kann darauf hindeuten, dass der restliche Teil einer komplexen Anfrage einen Strukturfehler aufweist, z. B. eine falsche implizierte Länge.

Ich schätze, dass die Adresse falsch ist, addiere mal 40 000 dazu wie in der Doku beschrieben, bei meinem Zähler war es nicht nötig, aber ev bei Dir.?
Ich hatte auch schon 4000 bei einem Gerät addieren müssen ;-( warum? Ich weiß es nicht, wenn’s funktioniert :wink:
Gruß Helmut

Die Anzahl (10) ist falsch.
Laut Doku des Gerätes bist es Adresse 0 Quantity 8.
Michael

Da sieht man mal, dass ich von tiefergreifenden ModBus keinen Schimmer habe :rolleyes:
Danke! Ich bin etwas weiter gekommen.

Habe die korrekten Einstellungen durch euch gefunden und konnte die Spannung mit dem ModBus Poll auslesen. :loveips:

Wenn ich jetzt den USR dazwischen baue bekomme ich zwar wieder eine Connection zu stande, aber keine Werte wegen eines Timeouts. Man kann ja auch nicht wirklich viel einstellen im USR. Und richtig angeschlossen ist A/B und Ground auch. (Natürlich hab ich von COM4 auf ModBus TCP bzw. Modbus RTU - TCP gewechselt)

Ich weiß gerade nicht wo jetzt noch ein Problem liegen sollte… Eigentlich müsste es doch jetzt gehen.

Hi,

sicher das es 2 Stop Bits sind?

Gruß

In Post 1 hast Du erklärt, dass Du Datenfluß hattest, konnte ich nicht erkennen, hast Du jetzt eine Antwort?
Mit dem Modbustool gehst Du auf welche ADR und PortNr?
Die StopBit Anzahl scheint ja zu stimmen, sonst hätte er im Modbustool keine Daten
Gruß Helmut

Ja, laut Anleitung sind 2 Stop Bits korrekt. Bekomme im Modbus Poll ja über den USB Adapter Daten ausgelesen.
8.JPG

Vielleicht hab ich mich unglücklich ausgedrückt. Datenfluss ja, aber nur zwischen PC (oder Symcon) und dem USR (RS485 to TCP/IP Converter). Man sieht halt im Screenshot, dass die Verbindung besteht und Daten empfangen werden. Nur wahrscheinlich werden da schon die Netzwerkpakete gezählt und keine aus dem Modbus Traffic.

Wenn Du in IP-Symcon alles so einstellst wie im Modbus Prg, Daten ADR auch, müßte es klappen, zumindest eine Antwort sollte kommen.
Ich kenne mich mit dem USR Teil nicht so aus, ev. kann Michael nochmal helfen, sein Screenshot vom USR-Teil sieht aber etwas anders aus
Gruß Helmut

Ja, das dachte ich auch. Aber leider nein.

Einheit: keine Ahnung (alle probiert)
Funktion: 04
Adresse: 0

Kommt nix… Das stimmt irgendwas mit dem USR nicht… (meine Vermutung) Sonst müsste ich mit dem ModbusPoll ja auch was herausbekommen. Frustrierend :banghead::banghead::banghead:

hast du ein Abschluss Widerstand am USR?
Bei meinem USR ging ohne Widerstand nichts.

Gruß

Nö, wo soll ich den denn noch anschließen ?
Mehr als die 3 Pins, LAN und Strom hat das Teil ja nicht.

Messgerät: An den 5V Anschluss auf der RS485 Seite hab ich aber nichts angeschlossen. Der ist ja soweit ich weiß nur dafür da wenn ich den USB Converter anschließe. (Mit dem funktioniert es am PC ja ohne Probleme) Betriebsspannung von 7V auf der Messseite habe ich ja auch locker bei 12V.

ich habe 120Ohm.
Angeschlossen wird er zwischen A & B.

Gruß

Du hast A , B und GND angeschlossen? Auch mal A und B getauscht?
Gruß Helmut

Ich glaub nicht, dass ich einen da habe. Ich schau mal sonst bestell ich mir mal welche.
Melde mich wenn ich Widerstände getestet habe.

A und B hab ich schon mal testweise vertauscht.

:banghead::banghead::banghead: Es geht nicht…

Hab zwischen A und B einen 120 Ohm Widerstand und auch schon auf beiden Seiten gleichzeitig probiert.
Habe sogar ein ordentliches Bus Kabel genommen…
Bekomme immer den Timeout Error.
Wenn es per Modbus --> USB Adapter geht, MUSS es doch eigentlich auch per Modbus --> TCP/IP Adapter gehen. :confused:

Hi,

sobald ich zu Hause bin, stelle ich paar Screeshots von meinen Einstellungen.

Gruß

Du solltest Modbus Funktionscode 4 nehmen, das hilft!
Gruß Helmut

Hat er doch.
Was natürlich sein kann, ist das der USR den Bus nicht auf einen definierten Pegel bringt.
Da hilft dann ein Bias:
EIA-485 – Wikipedia

Und GND bitte nicht zwischen zwei Geräten anschließen.
Michael

Deute ich das das richtig, dass ich die 720 Ohm Widerstände einmal an A und GND und B und GND anschließe ?

330px-Rs485-bias-termination.svg.png

Ok, hab ich korrigiert. Hat leider auch nichts gebracht.

Und ich hab mir das ganze so einfach vorgestellt :smiley:

Hi,

hier meine Einstellungen

Gruß

Was für einen USR hast du du denn genau ? dein ersten Haken (RS485) kann ich nicht setzen… der Fehlt komplett.
Ansonsten passt alles soweit.