ich habe exakt das gleiche Problem: DS100-00B und Waveshare Umsetzer. Die Gesamtkonfiguration läuft eigentlich, weil am gleichen RS485 Bus ein SDM230 hängt der problemlos alle Daten von sich gibt.
Der DS100 schickt nur Nullen. Hast Du jetzt den Zähler in einen SDM630 getauscht oder für den DS100 nur die B&G Instanz vom SDM630 verwendet. Das mit der Instanz habe ich nämlich auch ohne Erfolg auprobiert (andere funktionieren auch nicht).
Ich habe jetzt alle Varianten durch und komme auf keinen grünen Zweig - hat vielleicht jemand noch einen Tip für mich?
Gibt es sonst irgendwo eine Doku wie man spezifische Instanzen selbst anlegt oder kann das nur Michael?
ok, das kann ich mal versuchen. Es tauchen hier allerdings so viele neue Begriffe auf die angegeben werden müssen, dass ich mich da erst einmal einarbeiten muss, um zu verstehen was ich da mache
Hast Du vielleicht einen Auszug der Register/Angaben aus bestehenden Instanzen die in dem B&G Modul vorhanden sind, die man sich als Muster zur besseren Verständnis mal zu Gemüte führen kann, um nicht bei null anzufangen?
Da ich mir die Vorlagen noch gar nicht angesehen habe; nix wirklich sinnvolles.
Sonst die Original Hersteller Doku nutzen. Die PDF mit Register sind da alle zum download.
Michael
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.
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?
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:
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?
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.
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.
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.
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.
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
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
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?
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.
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.