-
-
Notifications
You must be signed in to change notification settings - Fork 14
Skriptausdrücke
Skripte können auch nur aus einem Berechnungsausdruck (Formel, Term) mit Zeitreihen bestehen. Weitere Informationen sind im Abschnitt Skriptumgebung zu finden.
Bei einem installierten Zweirichtungszähler am Hausanschluss ist die Berechnung der Einsparung durch eine Mini-Photovoltaik-Anlage nicht trivial, da die eingespeiste Energie nicht vergütet und auch nicht mit der bezogenen Energie verrechnet wird. Es können nicht einfach die Energiezähler am Hausanschluss und an der Photovoltaik-Anlage verrechnet werden. Es muss zu jedem Zeitpunkt berechnet werden, welche Leistung der Anlage mit den eigenen Verbrauchern gerade genutzt wird. Dies ist dann die Einsparung.
Benötigte Historian-IDs:
- Leistungsmessung Hausanschluss Phase 1 [W] (z.B. 802)
- Leistungsmessung Hausanschluss Phase 2 [W] (z.B. 809)
- Leistungsmessung Hausanschluss Phase 3 [W] (z.B. 796)
- Leistungsmessung Mini-Photovoltaik-Anlage [W] (z.B. 890)
Hinweis: Die Leistungsmessung am Hausanschluss liefert einen positiven Wert bei Strombezug. Die Leistungsmessung an der Anlage leifert einen positiven Wert bei Stromerzeugung.
ha1=dataPoint(802)
ha2=dataPoint(809)
ha3=dataPoint(796)
/*
Die Messung für die PV-Anlage muss bei mir mit einem Faktor korrigiert werden.
*/
pv=dataPoint(890)*0.917
/*
Ein saldierender Zähler verrechnet Bezug und eine evtl. Einspeisung über alle Phasen.
*/
ha=ha1+ha2+ha3
/*c
Berechnung der ins Netz ohne Vergütung eingespeisten Leistung:
(-ha) : Vorzeichen umkehren, die eingespeiste Leistung ist nun positiv.
.clipZero() : Die bezogene Leistung, sie ist jetzt negativ, wegschneiden.
*/
el=(-ha).clipZero()
/*
Berechnung der selbst genutzten durch die PV-Anlage erzeugten Energie.
Die Zeitreihe ist jetzt ein aufsteigender virtueller Energiezähler.
pv-einsp : Leistung, die direkt von der PV-Anlage zu den Verbrauchern fließt.
.integrate(): Leistung [W] in Energie [Wh] umrechnen.
/1000 : [Wh] in [kWh] umrechnen.
*/
se=(pv-el).integrate()/1000
/*
Von dem virtuellen Energiezähler den höchsten Wert ermitteln.
maximum : Den höchsten Wert, das wird der letzte Eintrag in der Zeitreihe sein, des virtuellen Energiezählers ermitteln.
*/
mse=se.maximum()
/*
Hinweis: Bisher wurde nur der neue Datenpunkt mse über eine Formel definiert. Es ist bisher keine Berechnung durchgeführt worden.
Auswertungszeittraum definieren.
*/
begin=parseDate("21.5.2023")
end=parseDate("24.8.2023")
/*
Zeitreihe berechnen und lesen. In diesem Fall wird die Zeitreihe nur einen Eintrag besitzen.
*/
mse.read(begin, end)
Beispielausgabe des Skripts:
2023-05-21 00:00:00.000, 171.1643907965838, 2
(Für den angegebenen Zeitbereich wurde der Wert 171,16 kWh ermittelt.)