[vz-dev] SDM630 "richtig" loggen (war: Unterstützung für PHP 5.6 entfernen)
Frank Richter
frank.richter83 at gmail.com
Fri Oct 20 00:21:24 CEST 2017
Für die Regelung reicht dir doch eigentlich die Gesamtleistung, oder?
Dafür gibts doch Register 30053 (total system power).
Denke schon dass das zum Regeln so ok wäre. Mir ging's eher um die
Gewinnung korrekter Zählerstände. Dein Wechselrichter wird der
Leistungsvorgabe auch nicht ganz instantan folgen...
Aber wenn du das Maximum rausholen willst, lass einen Microcontroller die
Regelung machen.
Grüße
Frank
Am 20. Oktober 2017 um 00:01 schrieb F. S. <mailing3000 at googlemail.com>:
> Da gebe ich Dir in vielen Dingen Recht, aber 3 Zähler a 75$ sind eine
> Ansage. Außerdem hat der SDM630 schon quasi Standard-Status. Die v2 kann
> auch schneller als 9600 baud, so das <1s denkbar wären.
> Ich werde das abprüfen, ob bei <1s auch andere P-Werte ausgegeben werden.
> Da muss ja nur eine P-Rampe durchlaufen werden.
>
> Da ich nur annähernd Null ausregeln möchte/kann, reicht m.E. ein 1s
> Intervall. Bis auf die Herdplatten wüßte ich jetzt kein Gerät, was häufig
> extrem und kurzfristig in der Last schwankt. Selbst die PV braucht 2s bis
> die Wolke am Output ankommt, da z.B. Kondensatoren puffern.
>
> Angenommen ich mache direkte Modbusauslesung mit RPi + RS485 to
> Lan-Umsetzer und es gäbe Schwankungen bei der Auslesung/Verarbeitung zw.
> 1s...2s (und auch keine Zeitstempel), dann sind die L1-3-Werte punktuelle
> P-Werte in diesem Zeitintervall, die aber immer noch zugehörig sind. Der
> saldierte P-Wert ist für den Auslesezeitpunkt also passend.
> Das ist vermutlich nichts für korrekte Zählerstände (schwankendes
> Zeitintervall), aber für die Momentanregelung gegen Null doch sicher
> ausreichend oder seht Ihr das anders?
> Ich kenne welche, die regeln einfach mit 0-5V von einer Steuer-PV-Zelle.
>
> VG
> Frank S.
>
> Am 19.10.2017 23:36 schrieb "Frank Richter" <frank.richter83 at gmail.com>:
>
>> Hi Frank,
>>
>> meinen SDM120 konnte man definitiv mehrfach pro Sekunde auslesen, 1 Wert
>> (2 Register) dauert ca. 100ms, wenn ich das richtig im Kopf habe. Die Frage
>> ist halt, ob man dann mehrfach identische Werte erhält, weil der Zähler die
>> Register nur in bestimmten Intervallen neu befüllt. Das ist aber nicht ganz
>> einfach zu testen (stark dynamische Last erforderlich).
>>
>> Mit den Umsetzer-Teilen hab ich bisher keine Erfahrung, aber wenn du
>> Modbus per Arduino auslesen willst, lass den Ethernet-Kram lieber raus,
>> dass macht es bestimmt nicht schneller.
>>
>> Kurzes Fazit meinerseits: man kann da sicher vieles machen, aber ob es
>> den Aufwand wert ist, wenn es Zähler gibt, die diese Werte intern korrekt
>> berechnen können?
>>
>> Grüße
>> Frank
>>
>> Am 19.10.2017 21:37 schrieb "F. S." <mailing3000 at googlemail.com>:
>>
>>> Moin Männer,
>>>
>>> Am 19.10.2017 20:13 schrieb "Frank Richter" <frank.richter83 at gmail.com>:
>>>
>>> Hi Andreas,
>>>
>>> Am 19. Oktober 2017 um 18:12 schrieb Andreas Goetz <cpuidle at gmail.com>:
>>>
>>>> Hallo Zusammen,
>>>>
>>>> erstmal Danke für die vielen Antworten.
>>>>
>>>> On 16. Oct 2017, at 19:27, F. S. <mailing3000 at googlemail.com> wrote:
>>>>
>>>> Moin Andreas,
>>>> was willst Du denn genau machen?
>>>>
>>>> a) Leistungsmessungen [W] (ev. mit Nullausregelung) oder
>>>> b) Zählerstandsabfragen [kWh].
>>>>
>>>>
>>>> Mein Ziel ist b) aber mit sinnvoller, guter Auflösung. Ich werde jetzt
>>>> mal auf 1min Minimum umstellen, mehr wenn sich nichts ändert.
>>>>
>>>>
>>>> Bei meiner PV mache ich a). Die P-Werte sollten beim SDM630 im
>>>> Sekundenintervall für L1...L3 auf dem Modbus kommen. Größere Zeitabstände
>>>> sind natürlich möglich. Das wird dann jede Sekunde auf dem Rechner saldiert
>>>> (fertig saldierte Leistung gibt es ja nicht im SDM630) und auf Deinem
>>>> virtuellen VZ-Kanal dargestellt.
>>>>
>>>>
>>>> Die Saldierung ist wirklich ein Painpoint. Andererseits sehe ich so was
>>>> hinsichtlich Schieflast auf den Leitungen wirklich los ist und könnte mir
>>>> sogar überlegen nochmal Verbraucher auf andere Phasen umzulegen. Damit muss
>>>> ich erstmal ein wenig spielen und die Kurven auch der Einzelphasen
>>>> verstehen.
>>>>
>>>> Ggf. mache ich Saldierung auf Minutenebene und schau mir an ob das gut
>>>> genug wird.
>>>>
>>>
>>> glaube ehrlich gesagt nicht, dass du damit nah an die Werte des
>>> Netzbetreiber-Zählers kommst. Gerade die größeren Verbraucher takten ja
>>> gerne (Kochfeld, Mikrowelle,...), und auch bei der PV ist bei
>>> Sonne-Wolken-Mix viel Dynamik drin.
>>>
>>> Bei b) braucht es m.E. die beschriebene sehr hohe Wh-Auflösung der
>>>> Import/Export-Zählerstände (Modbus). Soviele Nachkommastellen habe ich da
>>>> aber nicht gesehen.
>>>>
>>>>
>>>> Exportiert werden jede Menge, die scheinen sich aber nicht signifikant
>>>> zu ändern. Wir hoch die Auflösung wirklich ist konnte ich bisher nicht
>>>> ermitteln.
>>>>
>>>> S0 dürfte vauflösungstechnisch völlig untauglich sein.
>>>>
>>>> Die 78$ gibt es hier:
>>>> ...
>>>> und das ist das gleiche Teil wie das von B+G für 125 Eur :-). Du
>>>> brauchst nur eine Kreditkarte.
>>>>
>>>>
>>>> Tja. Ich hatte es eilig und dann kam der Elektriker erst nicht. Egal,
>>>> Lehrgeld :/
>>>>
>>>
>>> Für nochmal 25 Euro mehr hätte es dann auch den Modbus-Zähler von
>>> Solar-Log gegeben - der kann auch saldieren.
>>>
>>> "Messung der Leistungen macht- da der Zähler immer den Momentanwert
>>>> schickt und (sofern nciht konfiguriert?) nichts Gemitteltes- keinen Sinn."
>>>> Wieso? Der Energieinhalt (Import oder Export) [kWh] ist doch nur das
>>>> Integral der Leistung über die Zeit.
>>>>
>>>>
>>>> Genau. Aber zwischen 2 Messungen kann sich die Leistung noch 500x
>>>> verändert haben auch wenn der Abstand nur 10 Sekunden beträgt.
>>>>
>>>
>>> Das ist genau der Punkt, warum hinterher saldierte Werte zu gewinnen
>>> nicht ganz trivial ist.
>>>
>>> Eine Tageskurve mit - vorab errechneter saldierter - Leistung im
>>>> Sekundentakt dürfte brutal genau sein.
>>>>
>>>>
>>>> Das möchte ich dann doch nciht :O
>>>>
>>>
>>> Da könnte man sich höchstens überlegen, ob man den Realtime-Kram von
>>> einem Arduino machen lässt und nur bereits aufbereitete Daten an den Pi
>>> weitergibt.
>>>
>>>
>>> Das wäre auch mein Vorschlag:
>>> Mit einem Arduino sekündlich die SDM-Leistungen abfragen (kürzer geht
>>> m.E. beim SDM630 nicht) und in Variablen aufsummieren. Nach 10, 30 oder 60s
>>> wird die Variable an das embedded Linux device gereicht und dann weiter neu
>>> beschrieben.
>>> So ähnlich funktioniert das auch super beim gepimpten S0-Zähler. Der
>>> sammelt auch intern über 2^3 =8s und beamt es dann raus.
>>>
>>> Die Frage ist noch WIE man die saldierten Werte rausgibt. Ich bräuchte
>>> wahrscheinlich LAN (wiznet 5100-IC), weil der RPi entfernt steht. Wenn er
>>> näher dran ist, geht auch Uart oder I2C.
>>> Über Modbus eher nicht, da man damit zusätzlichen Traffic generieren
>>> würde, der den SDM630-Auslesevorgang stören könnte.
>>>
>>> Schöner wäre natürlich, wenn der RPi die 1s-Modbuswerte gleich direkt
>>> verarbeiten würde. Aber Realtime ist nicht seine Stärke.
>>>
>>> Frage:
>>> Würde so ein Modbus/Lan-Umsetzer die Sache verbessern? Ich muss hier
>>> mindestens 3 Zähler auslesen (1x Hausanschluss, 2x EV). Die will ich am
>>> RS485 gemeinsam betreiben.
>>> SDM630_1 -> SDM630_2 -> SDM630_3 -> RS485 to LAN -> RPi
>>>
>>> Diese Umsetzer sollen sehr brauchbar sein:
>>> http://www.usriot.com/products/serial-to-ethernet/
>>> Von den M4-Gerät habe ich 2 hier. Die Tests will ich über Weihnachten
>>> machen.
>>>
>>> Für Regelungsaufgaben wäre allerdings die Realtimetauglichkeit
>>> entscheidend.
>>> Eigentlich soll der RPi die Nullausregelung am Hausanschluss machen. Da
>>> würde der Arduino mit seiner 10,30,60s-Verzögerung nur stören.
>>>
>>> VG
>>> Frank S.
>>>
>>>
>>> Für einen gepimpten S0-Swissnox-Zähler mit knapp 130.000 Imp/s!!! und
>>>> Auslesung im 8s-Intervall sieht das dann so aus (s. Anhang - sorry wegen
>>>> der hohen Auflösung, aber sonst sieht man nichts).
>>>>
>>>> VG Frank S.
>>>>
>>>>
>>>> Hallo Andreas,
>>>>
>>>> sag nicht ich hätte dich nicht gewarnt ;-)
>>>>
>>>>
>>>> Erhm- nein.
>>>>
>>>> Dass man dem Zähler Timestamps oder eine interne Mittelung entlocken
>>>> kann, halte ich für sehr unwahrscheinlich.
>>>>
>>>>
>>>> Habe auch bisher nichts entsprechendes gefunden.
>>>>
>>>> Wenn du mit der nicht zählerintern saldierten Messung klarkommst (den
>>>> SDM also behalten willst), wäre meine Strategie vermutlich folgende:
>>>>
>>>> * Modbus mit maximaler Zeitauflösung auslesen und vor Weitergabe an die
>>>> MW möglichst in Software saldieren (wie exakt das wird, muss sich zeigen)
>>>> * Zählerstände mit Intervall von ca. 1min loggen, öfter macht IMHO bei
>>>> 1Wh Auflösung wenig Sinn
>>>>
>>>>
>>>> Genau.
>>>>
>>>> * für Push Momentanleistung verwenden, aber nicht in die DB schreiben
>>>> (das Frontend kann das zumindest für den Graph, Tabelle klappt bisher
>>>> nicht, aber das könnte man sicher hinbiegen)
>>>>
>>>>
>>>> Das geht mit dem Pushserver so noch nicht ohne 2 Kanäle (Leistung +
>>>> Zählerstände) zu verwenden. Dafür lasse ich mir aber noch etwas einfallen
>>>> um auch dem Zählerstandskanal mit Minutenauflösung die Leistungen
>>>> “unterzuschieben” ohne die Leistungen dafür im Frontend konfiguriert zu
>>>> haben.
>>>>
>>>
>>> Fein - das würde ich auch nehmen :)
>>> Kleine Komplikation: Bei einem Zweirichtungszähler müssten die
>>> Leistungswerte dann abhängig vom Vorzeichen auf den Bezugs- oder
>>> Lieferungs-Kanal gepusht werden.
>>>
>>>
>>>> Viele Grüße
>>>> Frank
>>>>
>>>>
>>>> Vielen Dank für Eure Anregungen,
>>>> Andreas
>>>>
>>>
>>> Grüße
>>> Frank
>>>
>>>
>>> Am 16. Oktober 2017 um 18:52 schrieb Andreas Goetz <cpuidle at gmail.com>:
>>>>
>>>>> Hallo Zusammen,
>>>>>
>>>>> Am 14. September 2017 um 18:56 schrieb F. S. <
>>>>> mailing3000 at googlemail.com>:
>>>>>
>>>>>>
>>>>>> Moin,
>>>>>>>> nur kurz zum SDM630:
>>>>>>>>
>>>>>>>> Du weißt dass die Import-/Export-Zählwerke beim SDM630 nicht
>>>>>>>>>>> phasensaldierend arbeiten?
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Nein? Muss mich das bei virtuellen Kanälen aber interessieren?
>>>>>>>>>>
>>>>>>>>>
>>>>> An dieser Stelle bin ich jetzt- mit physikalischen Geräten- wieder
>>>>> angekommen.
>>>>>
>>>>> Wenn du auf 2 Phasen Überschuss und auf einer Bezug hast, ändern sich
>>>>>>>>> beide Zählerstände (Import und Export). Du loggst also Bezug und
>>>>>>>>> Einspeisung, die beim saldierenden Zähler unter den Tisch fallen. Ist IMHO
>>>>>>>>> nicht trivial, das wieder rauszurechnen.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Ich würde nur die *Leistungen *der 3 Phasen aller 1-2s messen und
>>>>>>>> die Zählerstände (kWh) selbst summieren. Für eine Eigenverbrauchsregelung
>>>>>>>> mit annähernd Nullbezug braucht es m.E. nur die Leistungen. Für's
>>>>>>>> Archivlogging dann die errechneten Zählerstände, die durchaus ausgedünnt
>>>>>>>> sein können. Ansonsten ist der Zähler top - vor allem der SDM630_v2 mit
>>>>>>>> verbesserten Anschlüssen. Für 80$ auch noch unschlagbar günstig.
>>>>>>>>
>>>>>>>
>>>>> Waren mehr 125€ pro Stück, aber ich hatte auch Angst Chinakram in den
>>>>> Schaltschrank zu stecken. Vmtl. bin ich da zu kleinlich.
>>>>>
>>>>> ...
>>>>>>>
>>>>>>
>>>>> Ein letztes OT noch: um aus den Zählerständen von L1 - L3
>>>>> phasensaldierte Werte für Bezug und Einspeisung zu gewinnen, reicht es
>>>>> nicht, diese im gewünschten Logging-Intervall auszulesen und zu verrechnen,
>>>>> weil in den Werten keine Information über die Gleichzeitigkeit der
>>>>> Energieflüsse steckt. Sauber rechnen lässt sich das nur, wenn man das in
>>>>> sehr hoher Zeitauflösung macht. Dann braucht man aber nicht zwingend die
>>>>> Werte der einzelnen Phasen, sondern es genügen auch die Summen von Import
>>>>> und Export.
>>>>> Nachteilig für diese Berechnung ist die begrenzte Auflösung der
>>>>> ausgelesenen Zählerstände. Ich hab bisher nur mit einem SDM120 rumgespielt,
>>>>> der lieferte Energie in Auflösung 1Wh. Ist das beim SDM630 (v2) genauso?
>>>>>
>>>>>
>>>>> Das konnte ich aus dem Datenblatt bisher nicht rausfinden. Es sind 400
>>>>> Imp/kWh über S0, was er per Modbus bringt ist unklar.
>>>>>
>>>>> Momentan logge ich TotalImport und TotalExport alle 10s wobei doppelte
>>>>> Zählerstände unterdrückt werden. Das Ergebnis ist entsprechend mies- die
>>>>> Kurve zackelt. Jetzt kann ich Intervall erhöhen oder es gibt vllt. noch
>>>>> eine Möglichkeit über Modbus den Timestamp der Wertänderung in Erfahrung zu
>>>>> bringen.
>>>>>
>>>>> Gäbe es sonst weitere Ideen? Messung der Leistungen macht- da der
>>>>> Zähler immer den Momentanwert schickt und (sofern nciht konfiguriert?)
>>>>> nichts Gemitteltes- keinen Sinn.
>>>>>
>>>>> Habt Ihr noch Ideen?
>>>>>
>>>>> Viele Grüße,
>>>>> Andreas
>>>>>
>>>>> PS.: Und saldieren tut er natürlich nicht, außerdem zeigt er noch ein
>>>>> anderes schräges Verhalten, das muss ich aber nochmal analysieren.
>>>>>
>>>>>
>>>> <20171016_VZ_log.jpg>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-dev/attachments/20171020/9faf28cc/attachment-0001.html>
More information about the volkszaehler-dev
mailing list