Modbus Waveshare RS485 to ETH Umsetzer

Ich habe den Zähler ausgetauscht.

Die Modbusregister findest du auf der B+G Homepage.

Hallo,

Ich habe mittlerweile 1 SDM 630 und 2 SDM 120 am Waveshare laufen. Die Abschluss-Widerstände brauche ich tatsächlich nicht.
Der Timeout -Fehler war aufgrund der falschen ID im Splitter/modbus Gateway.
Mir war nicht bewusst, dass jedes Gerät einen eigenen Splitter/Gateway mit passender ID benötigt.

Die Modbus-Vorlage vom SDM 120 ist noch nicht vollständig und werde ich bei Gelegenheit erweitern.

Für den SDM 630 gibt es noch keine.

Aber mit dem Modul BG Tech läuft alles Bestens.

Grüße

Moin Leute,

um das Thema noch einmal aufzuwärmen: ich bin zu doof den DS100-00B zum Laufen zu bringen.

Zwischenzeitlich habe ich drei SDM630 und einen SDM230 jeweils über Waveshare am Start die alle wunderbar „gemolken“ werden können, nur der DS100 zickt noch rum und ich bin mit meiner Trial und Error Spielerei am Ende. Ich kann ein Modbus Gerät anlegen und offenbar wird der Zähler auch angesprochen aber es kommt nichts zurück. Das geht leider schon damit los anzugeben welche Adresse auszulesen ist. Was fordere ich an - Adresse 37 oder muss ich das Modbusregister 40C verwenden? Welche Endian Einstellung ist gültig?

Wenn ich debugge sehe ich, dass die Anforderung zurückgeschickt wird kann damit aber leider nichts anfangen.

Weiß jemand was bei diesem Zähler einzustellen ist oder muss ich in den sauren Apfel beißen und noch einen SDM630 shoppen damit endlich Ruhe ist?

Gruß aus Hamburg - Ralph

NOTFORUS → Not for us → Die Antwort kommt von einer anderen GeräteID und ist nicht für diese Instanz gedacht.
Also kommt da keine Antwort vom dem Zäher.
Adresse wäre 1036 (040C als Int). Oder halt 31037 - 30001 = 1036
Hier steht bei welchen Befehl man was abziehen muss:

Quelle:

Michael

Moin Michael,

vielen Dank für die lichtgeschwindigkeitschnelle Antwort. Das mit der Adresse habe ich jetzt kapiert!!
Auf dem Bus hängt noch der SDM230 auf Adresse 1, der DS100 hat die Adresse 2. Ich hatte den SDM230 im Symcon zwar deaktiviert aber wer weiß …
Auf jeden Fall sieht die Antwort jetzt schon etwas anders aus allerdings werden keine Werte angezeigt sondern lediglich eine 0,00 ausgegeben. Die Antworten hängen auch stark von der Intervallzeit ab die ich jetzt auf 10ms gesetzt habe. Längere Zeiten rufen sporadisch wieder NOTFORUS hervor.
Es kommt was zurück aber leider kann ich das nicht interpretieren, weil ich den Satzaufbau nicht kenne. Die Erste Adresse (40C) sollte die Spannung sein, die zweite (418) der aktuelle Strom der vermutlich wirklich 0 ist weil keine Last dran hängt.
Was kann ich noch vergessen haben einzustellen?

Gruß - Ralph

NACHTRAG: ich habe jetzt mal von Float auf INT32 umgestellt und siehe da - jetzt werden zumindest Zahlen angezeigt. Heißt das jetzt, dass der DS100 nur mit INT Zahlen umgehen kann und ich die Werte die da rauskommen entsprechend umrechnen muss? Wenn ich den Wert für Spannung durch 1.000 teilen lasse sieht das Ergebnis zumindest plausibel aus …

Nachtrag2: jetzt habe ich´s kapiert, die anderen Werte scheinen auch zu kommen. Ich mache das mal fertig und stelle das Teil dann als Vorlage zur Verfügung.

Besten Dank nochmal für die Hilfe!

2 „Gefällt mir“

Wenn ich die Beiträge richtig interpretiere, dann hast du den DS100-00B über Waveshare angebunden, korrekt?

Ich habe vorhin ziemlich viel ausprobiert, aber Daten über Modbus bekomme ich nicht. S0 liefern beide.

Moin Ralph,

bist du damit irgendwie weiter gekommen?

EIn kleines bischen Erfolg hatte ich immerhin, es kommen Werte, aber die meisten sind Quatsch.

Wenn ich die folgenden Daten richtig interpretiere

dann sollten die Werte entsprechend der Konfiguration

etwas sinnvolles liefern, aber die Spannungen sind falsch und auch „Active Power“ kann nicht so hoch sein. Laut S0 Zähler liege ich bei ca. 580-
590 Watt, was passen sollte.

Nur die Frequenzen passen.

Vielleicht hat der kleine Drache @Nall-chan noch eine Idee, falls sich @netuser nicht meldet.

Mein Bauchgefühl sagt mir die Endianess (LSB, MSB) ist falsch. Dafür gibt es in der Symcon Instanz irgendwo einen Schalter.

Zudem hast du UINT32 ausgewählt, aber das sieht bzgl. Registergröße (eine Adresse hat 1 Wort, 2 Adressen also zwei Wörter = 16bit) aus. Würde spaßeshalber auch mal mit UINT16 als Typ probieren.

Ich empfehle immer Online Modbus RTU Parser & Modbus TCP Parser

Nachtrag: Ein Wort hat natürlich 2 Byte = 16 bit. Ich habe hier eben was falsches geschrieben.

Kann auch sein das die Adresse immer einer weniger sind. Also statt 1025, 1024 was ja Hex 400 ist.
Michael

Danke, das funktioniert bei den Spannungen, bei den Leistungen nicht so richtig. Ich teste morgen weiter, auch Tobias Ansatz.

Update
Bei der Leistung geht es auch, das UINT war natürlich falsch, es kann ja negative Werte geben und mit dem Register eins kleiner kommt etwas sinnvolles, auch passend zu den S0 Zählern.

Danke :smiley:

Moin Ralf,

sorry, habe den Post erst jetzt gesehen.
Bei mir laufen folgende Einstellungen, maßgeblich waren die korrekte Umrechnung der Adresse und die Tatsache, dass der DS100 nur INT ausgibt. Weitere Register habe ich bislang nicht ausgelesen weil noch nicht notwendig. Vielleicht mache ich mich irgendwann mal an die Kür :wink:

Gruß - Ralph

1 „Gefällt mir“

Ach ja, das sieht dann so aus …

Gruß - Ralph

1 „Gefällt mir“

Danke für eure Hinweise, ich bin ein großes Stück weiter und kann bei Interesse auch die Modbus JSON für den DS100 in en-de bereitstellen, aber sie ist nicht vollständig.

Der DS100-00B ist ein Zweirichtungszähler und über S0 bekomme ich auch getrennte Impulse. Aber in den Modbus Registern finde ich nichts wirklich passendes.

„active power“ über die Phasen und Combined liefert positiv bzw. negativ, was auch von den Werten her passt.

Gemäß LCD Anzeige am Zähler gibt es in kWh

  • Wirkleistung Gesamt (Total)
  • Wirkleistung Bezug (Import)
  • Wirkleistung Abgabe (Export)

auch im Modbus
grafik

Aber die Wirkleistung in Watt gibt es scheinbar im Modbus nicht getrennt, nur als negativ oder positiv.

Vergleichbar in Watt finde ich nur

  • Combined Forward Active demand
  • Combined Reverse Active Demand
  • Combined Active Demand

Die Werte sind aber „sonderbar“, werden immer aktualisiert, ändern sich aber sehr langsam.

Was genau sind das für Werte bzw. was bedeutet das „demand“ dabei?

Aktuell z.B.
grafik

grafik

DIe Doku findet sich beim Hersteller
https://stromzähler.eu/stromzaehler/drehstromzaehler/fuer-hutschiene-geeicht/246/sdm72dm-v2-mid-3-phasen-zweirichtungs-drehstromzaehler-mit-rs485-und-s0

Wie meinst du das? Die Momentanleistung kann nur positiv oder negativ sein, aber nicht beides gleichzeitig. Das ist also Physik und keine Limitierung des Zählers.

Über S0 bekomme ich die Impulse, die entsprechend vom IPS-868 umgerechnet werden
grafik

Deshalb war eigentlich meine Erwartung, dass ich von so einem Hightech-Zähler auch die aktuellen Werte zu Import, Export und Total bekomme.

Das scheint aber nicht so zu sein.

Dann muss ich sie mir aus den drei Phasen im Sinne von positiv bzw. negativ selber berechnen.

Ich verstehe deinen Gedankengang nicht. Also aus elektrotechnischer Sicht, meine ich.

Der Strom jeder Phase ist die Summe aus Bezug und Einspeisung, diese beiden Anteile des Momentanstroms kann man nicht getrennt messen. Das geht einfach physikalisch nicht, man kann nur den resultierenden Strom messen, auch mit den teuersten Labormessgeräten.

Der Zähler erzeugt Impulse für Export und Import, also scheint er es ja unterscheiden zu können.

Vom Modbus kann ich dann nur die Wirkleistung nehmen und mir die Werte für Import und Export selber berechnen.

Ich hatte es halt bisher so dargestellt und wollte jetzt „nur“ die Werte aus dem Modbus nehmen.

grafik

Zum Vergleichen sind die -65 W berechnet aus den anderen Werten, die -68 W ist die Wirkleistung vom Modbus. Die ist deutlich schneller aktuell, da die Berechnungen aufgrund langsamer Werte vom Impuls-Counter und Wechselrichter etwas dauern.

Und ich würde halt gern die 316 W Export und die 251 W Import wieder sehen und nicht nur die ± Wirkleistung.

Pro Phase lässt sich rein physikalisch nur ein summarischer Wert messen, das magst du mir (Dr.-Ing Elektrotechnik) vielleicht glauben.

Da der Zähler drei Phasen auswertet kann es durchaus einen (summarischen) Bezug auf zwei Phase geben bei gleichzeitiger (summarischer) Einspeisung auf der dritten Phase, das könnte man so messen. Aber wie gesagt, wie sich die Momentanleistung jeder Einzelphase zusammensetzt ist so nicht messbar.

Ich habe es nicht überprüft, ob die Zahlen stimmen.
Möchte aber behaupten mein Janitza ECS kann dass was Du Dir wünscht…
Kann Dir einen zum Testen zuschicken.

PDF findest Du hier in dem Beitrag.

Mein E-Technikstudium ist sehr lange her :innocent:.

Ich kann ja bei jeder Aktualisierung der Phasen jeweils die negativen und die positiven Werte zusammenrechnen und in eine neue Variable schreiben. Dann habe ich die Zahlen wieder.

Mir ist bisher auch nicht klar geworden, was

  • Combined Forward Active demand
  • Combined Reverse Active Demand
  • Combined Active Demand