Forum: Mikrocontroller und Digitale Elektronik Modbus Gerät Abfragen klapt nicht


von Heiko (Gast)


Lesenswert?

Hallo
Ich habe mir einige Hutschienen Messgeräte mit Modbus bestellt DDM18SD
https://de.aliexpress.com/item/33003316323.html
Leider antworten sie mir noch nicht und ich weiß grade nicht mehr was 
ich noch versuchen könnte.
Also wie in der Beschreibung bei ali sende ich dem Gerät mit Hterm Hex
02 04 00 00 00 02 71 F8
Die Adresse des Gerätes ist 2 Zeigt es beim Starten. Die 71 F8 habe ich 
mir nach Modbus https://crccalc.com/ ausrechnen lassen.
Angeschlossen ist das Gerät über Usb Rs485 Adapter. Ich habe 
mittlerweile 2 Adapter dran und sehe auch das Daten gesendet werden.

Hat jemand eine Idee was falsch sein könnte?

von c-hater (Gast)


Lesenswert?

Heiko schrieb:

> Hat jemand eine Idee was falsch sein könnte?

MODBUS (über serielle Schnittstellen) impliziert Timing-Constraints. 
Kein übliches Terminalprogramm kümmert sich irgendwie darum.

Du brauchst ein MODBUS-Terminal.

von Heiko (Gast)


Lesenswert?

Bedeutet zwischen den Bytes muss das Timing passen?

von c-hater (Gast)


Lesenswert?

Heiko schrieb:

> Bedeutet zwischen den Bytes muss das Timing passen?

Was das genau bedeutet, steht natürlich im MODBUS-Standard. Wie wäre es 
denn, wenn du den einfach mal lesen würdest?

Unzumutbar?

von Heiko (Gast)


Lesenswert?

Das habe ich bereits gelesen aber von Timing (Außer der Standard Serial 
Timings) habe ich da nix gesehen.

von c-hater (Gast)


Lesenswert?

Heiko schrieb:

> Das habe ich bereits gelesen aber von Timing (Außer der Standard Serial
> Timings) habe ich da nix gesehen.

Nunja, und wie hast du das alles hterm beigebracht?

Also: ich kann programmieren und für mich wäre das schon nicht ganz 
einfach.

von Heiko (Gast)


Lesenswert?

Ich verstehe noch nicht worauf du hinaus willst. Aktuell sende ich 8 
Byte (02 04 00 00 00 02 71 F8) direkt nacheinander. Vom Timing als eine 
Serielle Nachricht.

Mittlerweile habe ich im Nodered ein Modbus installiert allerdings mit 
Exakt gleichem Ergebnis. Auch da zeigt das Parallele Hterm 02 04 00 00 
00 02 71 F8 und das Messgerät antwortet nicht.

von Heiko (Gast)


Lesenswert?

So falsch scheint mein Ansatz nicht zu sein.
https://info.kmtronic.com/raspberry-pi-modbus-energy-meter-2.html

Woran könnte es noch liegen?

von Chris (Gast)


Lesenswert?

Teste mal Modbus Poll

von Heiko (Gast)


Lesenswert?

Modbus Poll Klappt
Besten Dank :)

Merkwürdigerweise sehe ich im Terminal Genau was ich erwartet und auch 
vorher von Hand gesendet hatte. Auch das Modbus teil für nodered scheint 
zu versagen.
Scheinbar doch ein Timings Problem. Dann muss ich morgen wohl oder übel 
mal mit logic anal dran gehen und messen was da los ist.

von Hmmm (Gast)


Lesenswert?

Heiko schrieb:
> Scheinbar doch ein Timings Problem. Dann muss ich morgen wohl oder übel
> mal mit logic anal dran gehen und messen was da los ist.

Bei Modbus RTU darf zwischen den Zeichen keine Pause auftreten, die 
länger als 1.5 Zeichen ist, ansonsten ist die Nachricht zu verwerfen.

Um das auf einem PC halbwegs sicher hinzubekommen, solltest Du die 
Nachrichten als ein Paket rausschicken, also z.B. unter Windows mit 
einem einzelnen WriteFile()-Aufruf.

von Frank K. (fchk)


Lesenswert?

Schau Dir libmodbus an

https://libmodbus.org/

und dazu mbrtu

https://github.com/gitaeuber/mbrtu

fchk

von Heiko (Gast)


Angehängte Dateien:

Lesenswert?

Irgendwie scheint der Modbus Standard über die Jahre etwas aufgeweicht 
zu sein.
Ich habe Jetzt noch ein Modbus Tcp Wandler (also ein Stück Hardware) 
raus gekramt und auch der sendet die Daten "Simple" Seriel raus und das 
Messgerät antwortet nicht.
Ein Siemes Pac 3200 Hat damit kein Problem und antwortet sofort. Das 
kommt aber auch mit den Daten aus dem Programm Modbus Pol zurecht.
Anbei mal zwei Bilder der Daten.
Bislang ist modbus pol das einzige Programm was es wohl Richtig macht.

von Hmmm (Gast)


Lesenswert?

Falsche UART-Settings, insbesondere Parity?

von Heiko (Gast)


Angehängte Dateien:

Lesenswert?

Oh man da hat es mir die Hand vor den Kopf...
Parity. Na klar. Man hätte auch darauf kommen können.
Parity auf Even und schon antwortet das ding :)
Vielen Lieben dank für diesen hinwies.

Ich glaub ich habe die Parity Einstellung bei Seriell in all meiner zeit 
noch nie gebraucht und einfach vergessen

Also nochmal wer Probleme mit einem DDM18SD hat das ist die Lösung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.