Programm Dokumentation/Berechnung/Stromspeicher: Unterschied zwischen den Versionen
Weitere Optionen
Epos (Diskussion | Beiträge) H13: Hilferubrik Berechnung aus EPOS-Plan (Stand 06.09.2026) |
Epos (Diskussion | Beiträge) H13: Hilferubrik Berechnung aus EPOS-Plan (Stand 06.09.2026) |
||
| Zeile 1: | Zeile 1: | ||
<!-- EPOS-Plan Hilferubrik Berechnung | Seite: Stromspeicher | Stand: 2026-09-06 | Rechenkern: | <!-- EPOS-Plan Hilferubrik Berechnung | Seite: Stromspeicher | Stand: 2026-09-06 (Fassung 2: Formelzeichen und Notation) | Rechenkern: | ||
EPOS.Kern/Allgemein/Simulation/SimulationControl.Stromspeicher.cs, Controller/StromspeicherSimCtrl.cs, | EPOS.Kern/Allgemein/Simulation/SimulationControl.Stromspeicher.cs, Controller/StromspeicherSimCtrl.cs, | ||
SpeicherEngine/ (Vorverarbeitung, Dauernutzung, Nachtnutzung, Arbitrage, ArbitragePlaner, | SpeicherEngine/ (Vorverarbeitung, Dauernutzung, Nachtnutzung, Arbitrage, ArbitragePlaner, | ||
| Zeile 50: | Zeile 50: | ||
|- | |- | ||
| Berechnungsart, Betriebsart, zulässige Ladequellen || — || Speichervariante | | Berechnungsart, Betriebsart, zulässige Ladequellen || — || Speichervariante | ||
|} | |||
== Formelzeichen und Parameter == | |||
Diese Seite rechnet als '''einzige''' der Rubrik nicht in Stunden, sondern in '''Viertelstunden''': | |||
Der Laufindex heißt ''k'' und läuft von 1 bis 35 040, die Intervalldauer ist Δt = 0,25 h. | |||
Alle Energien stehen in kWh je Intervall, ''E'' ist eine Strommenge, ''P'' eine Leistung, ''η'' ein | |||
Wirkungsgrad, ''SOC''(k) der Ladezustand in kWh. | |||
=== Parameter === | |||
Eingaben, Katalogwerte, Vorgaben und Konstanten. Sie ändern sich innerhalb eines Laufs nicht. | |||
{| class="wikitable" | |||
! Symbol !! Bedeutung !! Einheit !! Herkunft | |||
|- | |||
| Δt || Dauer eines Intervalls || h || '''Konstante: 0,25''' | |||
|- | |||
| K || Zahl der Intervalle des Jahres || — || '''Konstante: 35 040''' | |||
|- | |||
| C<sub>nom</sub> || Nennkapazität des Speichers || kWh || Speicherkatalog, Feld „Energie (Kapazität)" | |||
|- | |||
| P || Lade- und Entladeleistung || kW || Speicherkatalog, Feld „Leistung"; fehlt sie, gilt '''1 C''' — dann ist P zahlengleich C<sub>nom</sub> | |||
|- | |||
| s<sub>min</sub>, s<sub>max</sub> || nutzbares Ladezustandsband || % || Speichervariante, Felder „SoC min"/„SoC max"; '''Rückfall: 10…90''' | |||
|- | |||
| η<sub>RT</sub> || Umlaufwirkungsgrad || — || Speicherkatalog, Feld „Wirkungsgrad RT"; '''Rückfall: 0,90''' | |||
|- | |||
| d || Degradation je Jahr || — (Anteil) || Speicherkatalog, Feld „Degradation" | |||
|- | |||
| P<sub>sb</sub> || Standby-Verbrauch || W || Speicherkatalog — Parameter des Geräts, kein Term des Dispatchs | |||
|- | |||
| n<sub>Z</sub> || zugesicherte Zyklen || — || Speicherkatalog | |||
|- | |||
| c<sub>ver</sub> || Verschleißkosten je Zyklus || €/(kWh·Zyklus) || Speicherkatalog; '''Rückfall: 0,025''' | |||
|- | |||
| c<sub>cap</sub> || Modulkosten || €/kWh || Speicherkatalog | |||
|- | |||
| c<sub>pow</sub> || Leistungskosten || €/kW || Speicherkatalog | |||
|- | |||
| I<sub>fix</sub> || feste Investition || € || Speicherkatalog | |||
|- | |||
| i || Kapitalzins || — (Anteil) || Speichervariante; '''Rückfall: 0,03''' (3 %) | |||
|- | |||
| N || Nutzungsdauer || a || Speichervariante; '''Rückfall: 20''' | |||
|- | |||
| χ<sub>PV</sub>, χ<sub>BHKW</sub> || Zulässigkeit der Ladequelle: 1 = zulässig, 0 = nicht || — || Speichervariante, „zulässige Ladequellen" (Grün- oder Graustrom) | |||
|- | |||
| SOC(0) || Startladezustand || kWh || Speichervariante; ohne Angabe '''SOC<sub>min</sub>''' | |||
|} | |||
Jeder gezogene Rückfall wird im Simulationsprotokoll benannt. | |||
=== Variablen === | |||
Größen, die der Lauf je Intervall oder je Lauf bildet. | |||
{| class="wikitable" | |||
! Symbol !! Bedeutung !! Einheit !! berechnet in | |||
|- | |||
| k || Viertelstunde des Jahres, 1…35 040 || — || Laufindex | |||
|- | |||
| P<sub>last</sub>(k), P<sub>pv</sub>(k), P<sub>bhkw</sub>(k) || Lastgang, PV- und BHKW-Erzeugung || kW || Eingangsreihen | |||
|- | |||
| p<sub>bez</sub>(k) || Bezugspreis || ct/kWh || Eingangsreihe | |||
|- | |||
| v<sub>pv</sub>(k), v<sub>bhkw</sub>(k) || Einspeisevergütung je Quelle || ct/kWh || Eingangsreihen | |||
|- | |||
| SOC<sub>min</sub>, SOC<sub>max</sub> || untere und obere Grenze des Ladezustands || kWh || (1) und (2) | |||
|- | |||
| C<sub>nutz</sub> || nutzbare Kapazität || kWh || (3) | |||
|- | |||
| η<sub>ch</sub>, η<sub>dis</sub> || Lade- und Entladewirkungsgrad || — || (4) | |||
|- | |||
| I || Investition || € || (5) | |||
|- | |||
| E<sub>last</sub>(k), E<sub>pv</sub>(k), E<sub>bhkw</sub>(k) || Energien des Intervalls || kWh || (6) | |||
|- | |||
| E<sub>restlast</sub>(k) || Last nach der Direktdeckung durch das BHKW || kWh || (7) | |||
|- | |||
| E<sub>pv,frei</sub>(k) || ladefähiger PV-Überschuss || kWh || (8) | |||
|- | |||
| E<sub>bhkw,frei</sub>(k) || ladefähiger BHKW-Überschuss || kWh || (9) | |||
|- | |||
| E<sub>defizit</sub>(k) || Residuallast || kWh || (10) | |||
|- | |||
| E<sub>quelle</sub>(k) || zum Laden zugelassener Überschuss || kWh || (11) | |||
|- | |||
| E<sub>ch</sub>(k) || Ladeenergie des Intervalls, AC-seitig || kWh || (12) | |||
|- | |||
| E<sub>dis</sub>(k) || Entladeenergie des Intervalls, AC-seitig || kWh || (13) | |||
|- | |||
| SOC(k) || Ladezustand am Ende des Intervalls || kWh || (12) und (13) | |||
|- | |||
| E<sub>pv,ant</sub>(k), E<sub>bhkw,ant</sub>(k) || Aufteilung der Ladung nach der Merit-Order PV vor BHKW || kWh || Schritt 4 | |||
|- | |||
| F(k) || Geldwert des Intervalls || € || (14) | |||
|- | |||
| E<sub>dis,DC</sub> || entnommene Energie des Jahres, DC-seitig || kWh || Jahressumme | |||
|- | |||
| z<sub>äq</sub> || äquivalente Vollzyklen || — || (15) | |||
|- | |||
| E<sub>a,1</sub> || Ertrag im Referenzjahr || €/a || (16) | |||
|- | |||
| a(i,N) || Annuitätsfaktor || 1/a || (17) | |||
|- | |||
| A || Kapitaldienst || €/a || (18) | |||
|- | |||
| RBF(i,N) || Rentenbarwertfaktor || a || (19) | |||
|- | |||
| q || Hilfsgröße des degradierten Rentenbarwertfaktors || — || (20) | |||
|- | |||
| RBF<sub>deg</sub> || degradierter Rentenbarwertfaktor || a || (21) | |||
|- | |||
| NPV || Kapitalwert || € || (22) | |||
|- | |||
| ΔJ(C,P) || Jahresüberschuss nach Kapitaldienst — die Zielfunktion der Auslegung || €/a || (23) | |||
|- | |||
| t<sub>A</sub> || Amortisationszeit || a || Ausgabe — Sekundärkennzahl je Auslegung | |||
|} | |} | ||
== Rechenweg == | == Rechenweg == | ||
Gerechnet wird '''viertelstündlich''' — 35 040 Intervalle, | Gerechnet wird '''viertelstündlich''' — K = 35 040 Intervalle, Δt = 0,25 h. Die Reihen | ||
kommen als Leistungen [kW] herein und gehen als Leistungen zurück. Passt die Länge einer Reihe nicht | |||
zurück. Passt die Länge einer Reihe nicht zum Raster, wird der Speicher übersprungen und die | zum Raster, wird der Speicher übersprungen und die Abweichung gemeldet. | ||
Abweichung gemeldet. | |||
=== Schritt 1 — Parameter der aktiven Variante === | === Schritt 1 — Parameter der aktiven Variante === | ||
| Zeile 67: | Zeile 185: | ||
(Leistungskosten). | (Leistungskosten). | ||
: <big>SOC<sub>min</sub> = C<sub>nom</sub> · s<sub>min</sub> / 100</big> (1) | |||
: <big>SOC<sub>max</sub> = C<sub>nom</sub> · s<sub>max</sub> / 100</big> (2) | |||
: <big>C<sub>nutz</sub> = SOC<sub>max</sub> − SOC<sub>min</sub></big> (3) | |||
: <big>η<sub>ch</sub> = η<sub>dis</sub> = √η<sub>RT</sub></big> (4) | |||
: <big>I = c<sub>cap</sub> · C<sub>nom</sub> + c<sub>pow</sub> · P + I<sub>fix</sub></big> (5) | |||
Rückfallwerte, wenn ein Wert fehlt oder unplausibel ist: Band '''10…90 %''' der Nennkapazität, | Rückfallwerte, wenn ein Wert fehlt oder unplausibel ist: Band '''10…90 %''' der Nennkapazität, | ||
η<sub>RT</sub> = '''0,90''', | η<sub>RT</sub> = '''0,90''', c<sub>ver</sub> = '''0,025 €/(kWh·Zyklus)''', i = '''3 %''', | ||
'''3 %''', | N = '''20 a'''. Fehlt die Leistungsgrenze, gilt '''1 C''' — P wird gleich C<sub>nom</sub> | ||
gesetzt; das entspricht der impliziten Annahme des Bestands und begrenzt praktisch nicht. | |||
begrenzt praktisch nicht. | |||
=== Schritt 2 — Vorverarbeitung je Intervall === | === Schritt 2 — Vorverarbeitung je Intervall === | ||
| Zeile 85: | Zeile 204: | ||
Sie ist für alle Strategien dieselbe und teilt Last, PV und BHKW auf: | Sie ist für alle Strategien dieselbe und teilt Last, PV und BHKW auf: | ||
: <big>E<sub>last</sub>(k) = P<sub>last</sub>(k) · Δt , E<sub>pv</sub>(k) = P<sub>pv</sub>(k) · Δt , E<sub>bhkw</sub>(k) = P<sub>bhkw</sub>(k) · Δt</big> (6) | |||
Überschuss und Defizit schließen einander konstruktiv aus — Laden und Entladen im selben Intervall | : <big>E<sub>restlast</sub>(k) = max( 0 ; E<sub>last</sub>(k) − E<sub>bhkw</sub>(k) )</big> (7) | ||
: <big>E<sub>pv,frei</sub>(k) = max( 0 ; E<sub>pv</sub>(k) − E<sub>restlast</sub>(k) )</big> (8) | |||
: <big>E<sub>bhkw,frei</sub>(k) = max( 0 ; E<sub>bhkw</sub>(k) − E<sub>last</sub>(k) )</big> (9) | |||
: <big>E<sub>defizit</sub>(k) = max( 0 ; E<sub>last</sub>(k) − E<sub>pv</sub>(k) − E<sub>bhkw</sub>(k) )</big> (10) | |||
: <big>E<sub>quelle</sub>(k) = χ<sub>PV</sub> · E<sub>pv,frei</sub>(k) + χ<sub>BHKW</sub> · E<sub>bhkw,frei</sub>(k)</big> (11) | |||
(7) sagt: '''das BHKW deckt vorrangig'''. Überschuss E<sub>quelle</sub> und Defizit | |||
E<sub>defizit</sub> schließen einander konstruktiv aus — Laden und Entladen im selben Intervall ist | |||
damit unmöglich. Welche Quellen zulässig sind (χ = 1) und welche nicht (χ = 0), sagt die Variante. | |||
=== Schritt 3 — Dispatch nach Betriebsstrategie === | === Schritt 3 — Dispatch nach Betriebsstrategie === | ||
| Zeile 99: | Zeile 224: | ||
'''Dauernutzung''' (Vorgabe): laden aus Überschuss, entladen gegen die Residuallast. | '''Dauernutzung''' (Vorgabe): laden aus Überschuss, entladen gegen die Residuallast. | ||
: <big>E<sub>ch</sub>(k) ≤ min( E<sub>quelle</sub>(k) ; P · Δt ; ( SOC<sub>max</sub> − SOC(k−1) ) / η<sub>ch</sub> ) , SOC(k) = SOC(k−1) + E<sub>ch</sub>(k) · η<sub>ch</sub></big> (12) | |||
'''Nachtnutzung''': Solange die PV erzeugt, wird '''nur geladen'''; entladen wird erst, wenn | : <big>E<sub>dis</sub>(k) ≤ min( E<sub>defizit</sub>(k) ; P · Δt ; ( SOC(k−1) − SOC<sub>min</sub> ) · η<sub>dis</sub> ) , SOC(k) = SOC(k−1) − E<sub>dis</sub>(k) / η<sub>dis</sub></big> (13) | ||
Sonnenuntergang nicht schon leer ist. Das Kriterium ist die PV-Reihe selbst — es braucht weder | '''Nachtnutzung''': Solange die PV erzeugt, wird '''nur geladen'''; entladen wird erst, wenn | ||
P<sub>pv</sub>(k) = 0 ist. Ein BHKW-Überschuss darf auch nachts laden. Zweck ist ein Speicher, der | |||
nach Sonnenuntergang nicht schon leer ist. Das Kriterium ist die PV-Reihe selbst — es braucht weder | |||
Klimadaten noch Sonnenstand. | Klimadaten noch Sonnenstand. | ||
'''Preissteuerung / Arbitrage''': Zuerst plant ein Vorlauf die Netzpfade des ganzen Jahres | '''Preissteuerung / Arbitrage''': Zuerst plant ein Vorlauf die Netzpfade des ganzen Jahres | ||
(rollierend über 24-Stunden-Fenster mit vollständiger Pfadprüfung), dann fährt der Dispatch diesen | (rollierend über 24-Stunden-Fenster mit vollständiger Pfadprüfung), dann fährt der Dispatch diesen | ||
Plan ab. Der '''Eigenverbrauchsfluss hat Vorrang''' und läuft unverändert | Plan ab. Der '''Eigenverbrauchsfluss hat Vorrang''' und läuft unverändert nach (12) und (13); die | ||
Netzpfade — Netzladung zum Ladepreis, Verkauf zum Erlöspreis — bekommen nur, was im Intervall | |||
danach frei bleibt. Sind weder Netzladung noch Netzentladung zugelassen, ist das Ergebnis | danach frei bleibt. Sind weder Netzladung noch Netzentladung zugelassen, ist das Ergebnis | ||
'''bitgleich''' zur Dauernutzung. | '''bitgleich''' zur Dauernutzung. | ||
| Zeile 118: | Zeile 244: | ||
Daneben gibt es einen '''Excel-Kompatibilitätsmodus''' — die zeichengetreue Nachbildung der alten | Daneben gibt es einen '''Excel-Kompatibilitätsmodus''' — die zeichengetreue Nachbildung der alten | ||
Tabellenmappe. Er kennt nur Last und PV, rechnet energetisch mit | Tabellenmappe. Er kennt nur Last und PV, rechnet energetisch mit η<sub>ch</sub> = η<sub>dis</sub> = 1 | ||
pauschalen Verlustfaktor erst auf die Euro-Summe auf; er gilt '''nur''' für die Dauernutzung. Für | und schlägt einen pauschalen Verlustfaktor erst auf die Euro-Summe auf; er gilt '''nur''' für die | ||
eine Bewertung ist der energetische Modus gemeint. | Dauernutzung. Für eine Bewertung ist der energetische Modus gemeint. | ||
=== Schritt 4 — Bewertung je Intervall === | === Schritt 4 — Bewertung je Intervall === | ||
| Zeile 128: | Zeile 254: | ||
Ladegrenze, der Rest aus dem BHKW-Überschuss: | Ladegrenze, der Rest aus dem BHKW-Überschuss: | ||
: <big>F(k) = E<sub>dis</sub>(k) · p<sub>bez</sub>(k) / 100 − E<sub>pv,ant</sub>(k) · v<sub>pv</sub>(k) / 100 − E<sub>bhkw,ant</sub>(k) · v<sub>bhkw</sub>(k) / 100</big> (14) | |||
Die Ladung kostet also die '''entgangene Vergütung''' der Energie, die sonst eingespeist worden | Die Division durch 100 rechnet Cent in Euro um. Die Ladung kostet also die '''entgangene | ||
wäre. Energetisch ist der Speicher dabei quellenblind — die Aufteilung ist reine Bewertung. | Vergütung''' der Energie, die sonst eingespeist worden wäre. Energetisch ist der Speicher dabei | ||
quellenblind — die Aufteilung E<sub>pv,ant</sub> / E<sub>bhkw,ant</sub> ist reine Bewertung. | |||
=== Schritt 5 — Kennzahlen und Wirtschaftlichkeit === | === Schritt 5 — Kennzahlen und Wirtschaftlichkeit === | ||
: <big>z<sub>äq</sub> = E<sub>dis,DC</sub> / C<sub>nutz</sub></big> (15) | |||
: <big>E<sub>a,1</sub> = Σ<sub>k=1…K</sub> F(k)</big> (16) | |||
: <big>a(i,N) = i / ( 1 − (1 + i)<sup>−N</sup> ) , für i = 0: a = 1 / N</big> (17) | |||
: <big>A = I · a(i,N)</big> (18) | |||
: <big>RBF(i,N) = ( 1 − (1 + i)<sup>−N</sup> ) / i , für i = 0: RBF = N</big> (19) | |||
Mit Degradation d tritt der '''degradierte''' Rentenbarwertfaktor an die Stelle von (19): | |||
: <big>q = ( 1 − d ) / ( 1 + i )</big> (20) | |||
: <big>RBF<sub>deg</sub> = 1 / (1 + i) · ( 1 − q<sup>N</sup> ) / ( 1 − q )</big> (21) | |||
: <big>NPV = E<sub>a,1</sub> · RBF<sub>deg</sub> − I</big> (22) | |||
Die Grenzfälle sind ausdrücklich geregelt: d = 0 führt (21) auf (19) zurück; i = 0 und d > 0 ergibt | |||
'''Amortisationszeit''' wird daraus als Sekundärkennzahl je Auslegung ausgewiesen. | RBF<sub>deg</sub> = ( 1 − (1 − d)<sup>N</sup> ) / d; d = 0 und i = 0 ergibt N. Die | ||
'''Amortisationszeit''' t<sub>A</sub> wird daraus als Sekundärkennzahl je Auslegung ausgewiesen. | |||
=== Schritt 6 — Auslegungsoptimierung (getrennter Lauf) === | === Schritt 6 — Auslegungsoptimierung (getrennter Lauf) === | ||
| Zeile 159: | Zeile 291: | ||
Kapitaldienst''': | Kapitaldienst''': | ||
: <big>ΔJ(C,P) = E<sub>a,äq</sub>(C,P) − [ c<sub>cap</sub>·C + c<sub>pow</sub>·P + I<sub>fix</sub> ] · a(i,N) [ − Verschleißkosten ]</big> (23) | |||
Der Verschleißterm ist wählbar und '''standardmäßig aus'''. Die '''Amortisationszeit ist bewusst | Der Verschleißterm über c<sub>ver</sub> ist wählbar und '''standardmäßig aus'''. Die | ||
nicht die Zielfunktion''': Sie ignoriert die Nutzungsdauer und liefert systematisch zu kleine | '''Amortisationszeit ist bewusst nicht die Zielfunktion''': Sie ignoriert die Nutzungsdauer N und | ||
Speicher; sie erscheint als Sekundärkennzahl je Rasterpunkt. Das Ergebnis ist unabhängig davon, auf | liefert systematisch zu kleine Speicher; sie erscheint als Sekundärkennzahl je Rasterpunkt. Das | ||
wie vielen Fäden gerechnet wurde. | Ergebnis ist unabhängig davon, auf wie vielen Fäden gerechnet wurde. | ||
== Grenzen und Annahmen == | == Grenzen und Annahmen == | ||
| Zeile 170: | Zeile 302: | ||
* '''Der Speicher rechnet nach den Erzeugern.''' Er verändert den ausgewiesenen PV-Ertrag nicht; die | * '''Der Speicher rechnet nach den Erzeugern.''' Er verändert den ausgewiesenen PV-Ertrag nicht; die | ||
Speicherwirkung wird getrennt bilanziert. | Speicherwirkung wird getrennt bilanziert. | ||
* '''Laden und Entladen schließen einander im Intervall aus''' — das ist eine Folge | * '''Laden und Entladen schließen einander im Intervall aus''' — das ist eine Folge von (7) bis | ||
(10), keine Regel obendrauf. | |||
* '''Ein konstanter Umlaufwirkungsgrad''', gleichmäßig auf Laden und Entladen verteilt ( | * '''Ein konstanter Umlaufwirkungsgrad''', gleichmäßig auf Laden und Entladen verteilt — das ist die | ||
Aussage von (4). Keine Abhängigkeit von Ladezustand, Temperatur oder C-Rate. | |||
* '''Keine Alterung im Jahreslauf.''' | * '''Keine Alterung im Jahreslauf.''' d wirkt in (20) und (21) über die Jahresreihe, nicht auf | ||
C<sub>nutz</sub> innerhalb des gerechneten Jahres. | |||
* '''Keine Temperaturabhängigkeit''', kein Batteriemanagement, keine Zellchemie. | * '''Keine Temperaturabhängigkeit''', kein Batteriemanagement, keine Zellchemie. | ||
* '''Der Standby-Verbrauch''' ist ein Parameter des Speichers | * '''Der Standby-Verbrauch P<sub>sb</sub>''' ist ein Parameter des Speichers und kommt in keiner | ||
Gleichung des Dispatchs vor. | |||
* '''Netzladung und Netzverkauf''' gibt es nur in der Preissteuerung, und nur, soweit die Variante | * '''Netzladung und Netzverkauf''' gibt es nur in der Preissteuerung, und nur, soweit die Variante | ||
sie zulässt. | sie zulässt. | ||
* '''Der Excel-Kompatibilitätsmodus rechnet bewusst „falsch"''': Er übernimmt die Eigenheiten der | * '''Der Excel-Kompatibilitätsmodus rechnet bewusst „falsch"''': Er übernimmt die Eigenheiten der | ||
Vorlage — | Vorlage — SOC(0) beginnt bei 0 statt bei SOC<sub>min</sub>, das erste Intervall fällt aus der | ||
Bilanz, der Preis steuert nicht die Entscheidung, sondern nur die Bewertung, und energetisch ist | |||
η = 1. Er ist zum '''Nachstellen''' der alten Mappe da, nicht zum Bewerten. | |||
* '''Die Auslegungsoptimierung ist ein eigener Lauf''' und schreibt nichts in das | |||
* '''Die Auslegungsoptimierung ist ein eigener Lauf''' und schreibt nichts in das Simulationsergebnis. | Simulationsergebnis. | ||
== Ergebnisse und wo sie stehen == | == Ergebnisse und wo sie stehen == | ||
* '''Simulationsergebnis, Reiter „Stromspeicher"''' — | * '''Simulationsergebnis, Reiter „Stromspeicher"''' — der Verlauf SOC(k), Lade- und Entladeenergie, | ||
äquivalente Vollzyklen, Geldwert und die Kennzahlen der Wirtschaftlichkeit. | äquivalente Vollzyklen z<sub>äq</sub>, Geldwert und die Kennzahlen der Wirtschaftlichkeit. | ||
* '''Simulationsergebnis, Reiter „Ergebnis"''' — Eigenverbrauchsquote und Autarkie mit | * '''Simulationsergebnis, Reiter „Ergebnis"''' — Eigenverbrauchsquote und Autarkie mit | ||
Speicherwirkung. | Speicherwirkung. | ||
* '''Variantenvergleich der Speicher''' — dieselben Kennzahlen je Variante nebeneinander. | * '''Variantenvergleich der Speicher''' — dieselben Kennzahlen je Variante nebeneinander. | ||
* '''Auslegungsoptimierung''' — Heatmap über Kapazität und C-Rate, Bestpunkt und Kennzahlen je | * '''Auslegungsoptimierung''' — Heatmap über Kapazität und C-Rate, Bestpunkt nach (23) und | ||
Kennzahlen je Rasterpunkt. | |||
* '''Simulationsprotokoll''' — jeder Rückfall (kein Speicher, keine Kapazität, 1‑C‑Annahme, | * '''Simulationsprotokoll''' — jeder Rückfall (kein Speicher, keine Kapazität, 1‑C‑Annahme, | ||
Ersatz-SoC-Band, nicht umgesetzte Berechnungsart) und jede Rasterabweichung. | Ersatz-SoC-Band, nicht umgesetzte Berechnungsart) und jede Rasterabweichung. | ||
Version vom 6. September 2026, 21:29 Uhr
Was berechnet wird
Der elektrische Speicher wird nach Photovoltaik und BHKW gerechnet: Er sieht die Last, die Erzeugung und die Preise als Zeitreihen und entscheidet je Viertelstunde, ob geladen oder entladen wird. Ergebnisgrößen sind der Ladezustandsverlauf, die Lade- und Entladeenergie, die äquivalenten Vollzyklen, der Geldwert je Intervall und daraus die Wirtschaftlichkeit — Jahresüberschuss, Kapitaldienst, Kapitalwert und Amortisationszeit.
Der Speicher darf den Lauf nicht kippen: Fehlen Stammdaten, passt das Zeitraster nicht oder wirft die Rechnung, landet das als Hinweis oder Warnung im Protokoll, und die Kette rechnet ohne Speicherwirkung weiter.
Eingangsgrößen
| Größe | Einheit | Herkunft im Programm |
|---|---|---|
| Lastgang (Reststrombedarf nach den Erzeugern) | kW je Viertelstunde | Ergebnis der Strombilanz |
| PV-Erzeugung | kW je Viertelstunde | Photovoltaikzweig |
| BHKW-Erzeugung | kW je Viertelstunde | BHKW-Zweig |
| Bezugspreis, Einspeisevergütung | ct/kWh | Energieträger- und Vergütungsdaten des Projekts |
| Nennkapazität | kWh | Speicherkatalog, Feld „Energie (Kapazität)" |
| Leistung | kW | Speicherkatalog, Feld „Leistung" |
| Nutzbarer Ladezustandsbereich | % | Speichervariante, Felder „SoC min" und „SoC max"; ersatzweise der Katalogwert „Ladezustand" |
| Umlaufwirkungsgrad ηRT | — | Speicherkatalog, Feld „Wirkungsgrad RT" |
| Degradation | %/a | Speicherkatalog |
| Standby-Verbrauch | W | Speicherkatalog |
| Zugesicherte Zyklen | — | Speicherkatalog |
| Verschleißkosten je Zyklus | €/(kWh·Zyklus) | Speicherkatalog |
| Modulkosten, Leistungskosten, feste Investition | €/kWh, €/kW, € | Speicherkatalog |
| Kapitalzins, Nutzungsdauer | %, a | Speichervariante |
| Berechnungsart, Betriebsart, zulässige Ladequellen | — | Speichervariante |
Formelzeichen und Parameter
Diese Seite rechnet als einzige der Rubrik nicht in Stunden, sondern in Viertelstunden: Der Laufindex heißt k und läuft von 1 bis 35 040, die Intervalldauer ist Δt = 0,25 h. Alle Energien stehen in kWh je Intervall, E ist eine Strommenge, P eine Leistung, η ein Wirkungsgrad, SOC(k) der Ladezustand in kWh.
Parameter
Eingaben, Katalogwerte, Vorgaben und Konstanten. Sie ändern sich innerhalb eines Laufs nicht.
| Symbol | Bedeutung | Einheit | Herkunft |
|---|---|---|---|
| Δt | Dauer eines Intervalls | h | Konstante: 0,25 |
| K | Zahl der Intervalle des Jahres | — | Konstante: 35 040 |
| Cnom | Nennkapazität des Speichers | kWh | Speicherkatalog, Feld „Energie (Kapazität)" |
| P | Lade- und Entladeleistung | kW | Speicherkatalog, Feld „Leistung"; fehlt sie, gilt 1 C — dann ist P zahlengleich Cnom |
| smin, smax | nutzbares Ladezustandsband | % | Speichervariante, Felder „SoC min"/„SoC max"; Rückfall: 10…90 |
| ηRT | Umlaufwirkungsgrad | — | Speicherkatalog, Feld „Wirkungsgrad RT"; Rückfall: 0,90 |
| d | Degradation je Jahr | — (Anteil) | Speicherkatalog, Feld „Degradation" |
| Psb | Standby-Verbrauch | W | Speicherkatalog — Parameter des Geräts, kein Term des Dispatchs |
| nZ | zugesicherte Zyklen | — | Speicherkatalog |
| cver | Verschleißkosten je Zyklus | €/(kWh·Zyklus) | Speicherkatalog; Rückfall: 0,025 |
| ccap | Modulkosten | €/kWh | Speicherkatalog |
| cpow | Leistungskosten | €/kW | Speicherkatalog |
| Ifix | feste Investition | € | Speicherkatalog |
| i | Kapitalzins | — (Anteil) | Speichervariante; Rückfall: 0,03 (3 %) |
| N | Nutzungsdauer | a | Speichervariante; Rückfall: 20 |
| χPV, χBHKW | Zulässigkeit der Ladequelle: 1 = zulässig, 0 = nicht | — | Speichervariante, „zulässige Ladequellen" (Grün- oder Graustrom) |
| SOC(0) | Startladezustand | kWh | Speichervariante; ohne Angabe SOCmin |
Jeder gezogene Rückfall wird im Simulationsprotokoll benannt.
Variablen
Größen, die der Lauf je Intervall oder je Lauf bildet.
| Symbol | Bedeutung | Einheit | berechnet in |
|---|---|---|---|
| k | Viertelstunde des Jahres, 1…35 040 | — | Laufindex |
| Plast(k), Ppv(k), Pbhkw(k) | Lastgang, PV- und BHKW-Erzeugung | kW | Eingangsreihen |
| pbez(k) | Bezugspreis | ct/kWh | Eingangsreihe |
| vpv(k), vbhkw(k) | Einspeisevergütung je Quelle | ct/kWh | Eingangsreihen |
| SOCmin, SOCmax | untere und obere Grenze des Ladezustands | kWh | (1) und (2) |
| Cnutz | nutzbare Kapazität | kWh | (3) |
| ηch, ηdis | Lade- und Entladewirkungsgrad | — | (4) |
| I | Investition | € | (5) |
| Elast(k), Epv(k), Ebhkw(k) | Energien des Intervalls | kWh | (6) |
| Erestlast(k) | Last nach der Direktdeckung durch das BHKW | kWh | (7) |
| Epv,frei(k) | ladefähiger PV-Überschuss | kWh | (8) |
| Ebhkw,frei(k) | ladefähiger BHKW-Überschuss | kWh | (9) |
| Edefizit(k) | Residuallast | kWh | (10) |
| Equelle(k) | zum Laden zugelassener Überschuss | kWh | (11) |
| Ech(k) | Ladeenergie des Intervalls, AC-seitig | kWh | (12) |
| Edis(k) | Entladeenergie des Intervalls, AC-seitig | kWh | (13) |
| SOC(k) | Ladezustand am Ende des Intervalls | kWh | (12) und (13) |
| Epv,ant(k), Ebhkw,ant(k) | Aufteilung der Ladung nach der Merit-Order PV vor BHKW | kWh | Schritt 4 |
| F(k) | Geldwert des Intervalls | € | (14) |
| Edis,DC | entnommene Energie des Jahres, DC-seitig | kWh | Jahressumme |
| zäq | äquivalente Vollzyklen | — | (15) |
| Ea,1 | Ertrag im Referenzjahr | €/a | (16) |
| a(i,N) | Annuitätsfaktor | 1/a | (17) |
| A | Kapitaldienst | €/a | (18) |
| RBF(i,N) | Rentenbarwertfaktor | a | (19) |
| q | Hilfsgröße des degradierten Rentenbarwertfaktors | — | (20) |
| RBFdeg | degradierter Rentenbarwertfaktor | a | (21) |
| NPV | Kapitalwert | € | (22) |
| ΔJ(C,P) | Jahresüberschuss nach Kapitaldienst — die Zielfunktion der Auslegung | €/a | (23) |
| tA | Amortisationszeit | a | Ausgabe — Sekundärkennzahl je Auslegung |
Rechenweg
Gerechnet wird viertelstündlich — K = 35 040 Intervalle, Δt = 0,25 h. Die Reihen kommen als Leistungen [kW] herein und gehen als Leistungen zurück. Passt die Länge einer Reihe nicht zum Raster, wird der Speicher übersprungen und die Abweichung gemeldet.
Schritt 1 — Parameter der aktiven Variante
Gerechnet wird die Anlagenzeile der aktiven Speichervariante. Lässt sie sich nicht bestimmen, fällt der Lauf auf die Summe über alle Speicheranlagen des Projekts zurück und sagt den Grund im Protokoll. Mehrere Anlagen werden kapazitätsgewichtet gemittelt (Ladezustand, Degradation, Wirkungsgrad, Verschleißkosten, Zyklen, Modulkosten) beziehungsweise leistungsgewichtet (Leistungskosten).
- SOCmin = Cnom · smin / 100 (1)
- SOCmax = Cnom · smax / 100 (2)
- Cnutz = SOCmax − SOCmin (3)
- ηch = ηdis = √ηRT (4)
- I = ccap · Cnom + cpow · P + Ifix (5)
Rückfallwerte, wenn ein Wert fehlt oder unplausibel ist: Band 10…90 % der Nennkapazität, ηRT = 0,90, cver = 0,025 €/(kWh·Zyklus), i = 3 %, N = 20 a. Fehlt die Leistungsgrenze, gilt 1 C — P wird gleich Cnom gesetzt; das entspricht der impliziten Annahme des Bestands und begrenzt praktisch nicht.
Schritt 2 — Vorverarbeitung je Intervall
Sie ist für alle Strategien dieselbe und teilt Last, PV und BHKW auf:
- Elast(k) = Plast(k) · Δt , Epv(k) = Ppv(k) · Δt , Ebhkw(k) = Pbhkw(k) · Δt (6)
- Erestlast(k) = max( 0 ; Elast(k) − Ebhkw(k) ) (7)
- Epv,frei(k) = max( 0 ; Epv(k) − Erestlast(k) ) (8)
- Ebhkw,frei(k) = max( 0 ; Ebhkw(k) − Elast(k) ) (9)
- Edefizit(k) = max( 0 ; Elast(k) − Epv(k) − Ebhkw(k) ) (10)
- Equelle(k) = χPV · Epv,frei(k) + χBHKW · Ebhkw,frei(k) (11)
(7) sagt: das BHKW deckt vorrangig. Überschuss Equelle und Defizit Edefizit schließen einander konstruktiv aus — Laden und Entladen im selben Intervall ist damit unmöglich. Welche Quellen zulässig sind (χ = 1) und welche nicht (χ = 0), sagt die Variante.
Schritt 3 — Dispatch nach Betriebsstrategie
Dauernutzung (Vorgabe): laden aus Überschuss, entladen gegen die Residuallast.
- Ech(k) ≤ min( Equelle(k) ; P · Δt ; ( SOCmax − SOC(k−1) ) / ηch ) , SOC(k) = SOC(k−1) + Ech(k) · ηch (12)
- Edis(k) ≤ min( Edefizit(k) ; P · Δt ; ( SOC(k−1) − SOCmin ) · ηdis ) , SOC(k) = SOC(k−1) − Edis(k) / ηdis (13)
Nachtnutzung: Solange die PV erzeugt, wird nur geladen; entladen wird erst, wenn Ppv(k) = 0 ist. Ein BHKW-Überschuss darf auch nachts laden. Zweck ist ein Speicher, der nach Sonnenuntergang nicht schon leer ist. Das Kriterium ist die PV-Reihe selbst — es braucht weder Klimadaten noch Sonnenstand.
Preissteuerung / Arbitrage: Zuerst plant ein Vorlauf die Netzpfade des ganzen Jahres (rollierend über 24-Stunden-Fenster mit vollständiger Pfadprüfung), dann fährt der Dispatch diesen Plan ab. Der Eigenverbrauchsfluss hat Vorrang und läuft unverändert nach (12) und (13); die Netzpfade — Netzladung zum Ladepreis, Verkauf zum Erlöspreis — bekommen nur, was im Intervall danach frei bleibt. Sind weder Netzladung noch Netzentladung zugelassen, ist das Ergebnis bitgleich zur Dauernutzung.
Jede andere Berechnungsart fällt protokolliert auf die Dauernutzung zurück: Ein Lauf soll nie daran scheitern, dass eine Variante eine Ausbaustufe anfordert, die das Programm noch nicht kann.
Daneben gibt es einen Excel-Kompatibilitätsmodus — die zeichengetreue Nachbildung der alten Tabellenmappe. Er kennt nur Last und PV, rechnet energetisch mit ηch = ηdis = 1 und schlägt einen pauschalen Verlustfaktor erst auf die Euro-Summe auf; er gilt nur für die Dauernutzung. Für eine Bewertung ist der energetische Modus gemeint.
Schritt 4 — Bewertung je Intervall
Bewertet wird die AC-seitige Energie. Die Entladung mit dem Bezugspreis (vermiedener Netzbezug), die Ladung nach der Merit-Order PV vor BHKW — erst der PV-Anteil bis zur Ladegrenze, der Rest aus dem BHKW-Überschuss:
- F(k) = Edis(k) · pbez(k) / 100 − Epv,ant(k) · vpv(k) / 100 − Ebhkw,ant(k) · vbhkw(k) / 100 (14)
Die Division durch 100 rechnet Cent in Euro um. Die Ladung kostet also die entgangene Vergütung der Energie, die sonst eingespeist worden wäre. Energetisch ist der Speicher dabei quellenblind — die Aufteilung Epv,ant / Ebhkw,ant ist reine Bewertung.
Schritt 5 — Kennzahlen und Wirtschaftlichkeit
- zäq = Edis,DC / Cnutz (15)
- Ea,1 = Σk=1…K F(k) (16)
- a(i,N) = i / ( 1 − (1 + i)−N ) , für i = 0: a = 1 / N (17)
- A = I · a(i,N) (18)
- RBF(i,N) = ( 1 − (1 + i)−N ) / i , für i = 0: RBF = N (19)
Mit Degradation d tritt der degradierte Rentenbarwertfaktor an die Stelle von (19):
- q = ( 1 − d ) / ( 1 + i ) (20)
- RBFdeg = 1 / (1 + i) · ( 1 − qN ) / ( 1 − q ) (21)
- NPV = Ea,1 · RBFdeg − I (22)
Die Grenzfälle sind ausdrücklich geregelt: d = 0 führt (21) auf (19) zurück; i = 0 und d > 0 ergibt RBFdeg = ( 1 − (1 − d)N ) / d; d = 0 und i = 0 ergibt N. Die Amortisationszeit tA wird daraus als Sekundärkennzahl je Auslegung ausgewiesen.
Schritt 6 — Auslegungsoptimierung (getrennter Lauf)
Die Auslegungssuche ist kein Teil des Simulationslaufs, sondern ein eigener Rechenlauf. Sie durchsucht zweistufig — Grobraster über den ganzen Suchraum, dann ein Feinraster um das Groboptimum, verfeinert wird nur die Kapazitätsachse — und maximiert den Jahresüberschuss nach Kapitaldienst:
- ΔJ(C,P) = Ea,äq(C,P) − [ ccap·C + cpow·P + Ifix ] · a(i,N) [ − Verschleißkosten ] (23)
Der Verschleißterm über cver ist wählbar und standardmäßig aus. Die Amortisationszeit ist bewusst nicht die Zielfunktion: Sie ignoriert die Nutzungsdauer N und liefert systematisch zu kleine Speicher; sie erscheint als Sekundärkennzahl je Rasterpunkt. Das Ergebnis ist unabhängig davon, auf wie vielen Fäden gerechnet wurde.
Grenzen und Annahmen
- Der Speicher rechnet nach den Erzeugern. Er verändert den ausgewiesenen PV-Ertrag nicht; die
Speicherwirkung wird getrennt bilanziert.
- Laden und Entladen schließen einander im Intervall aus — das ist eine Folge von (7) bis
(10), keine Regel obendrauf.
- Ein konstanter Umlaufwirkungsgrad, gleichmäßig auf Laden und Entladen verteilt — das ist die
Aussage von (4). Keine Abhängigkeit von Ladezustand, Temperatur oder C-Rate.
- Keine Alterung im Jahreslauf. d wirkt in (20) und (21) über die Jahresreihe, nicht auf
Cnutz innerhalb des gerechneten Jahres.
- Keine Temperaturabhängigkeit, kein Batteriemanagement, keine Zellchemie.
- Der Standby-Verbrauch Psb ist ein Parameter des Speichers und kommt in keiner
Gleichung des Dispatchs vor.
- Netzladung und Netzverkauf gibt es nur in der Preissteuerung, und nur, soweit die Variante
sie zulässt.
- Der Excel-Kompatibilitätsmodus rechnet bewusst „falsch": Er übernimmt die Eigenheiten der
Vorlage — SOC(0) beginnt bei 0 statt bei SOCmin, das erste Intervall fällt aus der Bilanz, der Preis steuert nicht die Entscheidung, sondern nur die Bewertung, und energetisch ist η = 1. Er ist zum Nachstellen der alten Mappe da, nicht zum Bewerten.
- Die Auslegungsoptimierung ist ein eigener Lauf und schreibt nichts in das
Simulationsergebnis.
Ergebnisse und wo sie stehen
- Simulationsergebnis, Reiter „Stromspeicher" — der Verlauf SOC(k), Lade- und Entladeenergie,
äquivalente Vollzyklen zäq, Geldwert und die Kennzahlen der Wirtschaftlichkeit.
- Simulationsergebnis, Reiter „Ergebnis" — Eigenverbrauchsquote und Autarkie mit
Speicherwirkung.
- Variantenvergleich der Speicher — dieselben Kennzahlen je Variante nebeneinander.
- Auslegungsoptimierung — Heatmap über Kapazität und C-Rate, Bestpunkt nach (23) und
Kennzahlen je Rasterpunkt.
- Simulationsprotokoll — jeder Rückfall (kein Speicher, keine Kapazität, 1‑C‑Annahme,
Ersatz-SoC-Band, nicht umgesetzte Berechnungsart) und jede Rasterabweichung.
Bezüge
- Stromspeicher — Bedienung von Katalog, Projektdialog und Varianten
- Berechnung: Photovoltaik — Herkunft von Überschuss und Reststrom
- Berechnung: BHKW — Herkunft des zweiten Ladepfads
- Berechnung: Simulationsablauf — wann der Speicher in der Kette gerechnet wird
- Berechnung: Strombedarf — Lastgang und Zeitraster
- Wirtschaftlichkeit — Kapitalwert, Annuität, Amortisation
- Simulationsergebnisse — Aufbau der Ergebnisreiter