Jump to content
Menü aufrufen
Toggle preferences menu
Persönliches Menü aufrufen
Nicht angemeldet
Ihre IP-Adresse wird öffentlich sichtbar sein, wenn Sie Änderungen vornehmen.

Programm Dokumentation/Berechnung/Stromspeicher: Unterschied zwischen den Versionen

Aus wiki.epos-plan.de
H13: Hilferubrik Berechnung aus EPOS-Plan (Stand 06.09.2026)
 
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&nbsp;040, die Intervalldauer ist Δt = 0,25&nbsp;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&nbsp;%)
|-
| 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&nbsp;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&nbsp;040 Intervalle, dt = 0,25&nbsp;h. Alle Energien
Gerechnet wird '''viertelstündlich''' — K = 35&nbsp;040 Intervalle, Δt = 0,25&nbsp;h. Die Reihen
stehen in kWh je Intervall; die Reihen kommen als Leistungen [kW] herein und gehen als Leistungen
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).


SoC_min = C_nom · SoC_min[%] / 100
: <big>SOC<sub>min</sub> = C<sub>nom</sub> · s<sub>min</sub> / 100</big> &nbsp;&nbsp;(1)
SoC_max = C_nom · SoC_max[%] / 100
 
C_nutz  = SoC_max SoC_min
: <big>SOC<sub>max</sub> = C<sub>nom</sub> · s<sub>max</sub> / 100</big> &nbsp;&nbsp;(2)
η_ch = η_dis = √η_RT
 
: <big>C<sub>nutz</sub> = SOC<sub>max</sub> SOC<sub>min</sub></big> &nbsp;&nbsp;(3)
 
: <big>η<sub>ch</sub> = η<sub>dis</sub> = √η<sub>RT</sub></big> &nbsp;&nbsp;(4)
 
: <big>I = c<sub>cap</sub> · C<sub>nom</sub> + c<sub>pow</sub> · P + I<sub>fix</sub></big> &nbsp;&nbsp;(5)


Rückfallwerte, wenn ein Wert fehlt oder unplausibel ist: Band '''10…90&nbsp;%''' der Nennkapazität,
Rückfallwerte, wenn ein Wert fehlt oder unplausibel ist: Band '''10…90&nbsp;%''' der Nennkapazität,
η<sub>RT</sub> = '''0,90''', Verschleißkosten '''0,025&nbsp;€/(kWh·Zyklus)''', Kapitalzins
η<sub>RT</sub> = '''0,90''', c<sub>ver</sub> = '''0,025&nbsp;€/(kWh·Zyklus)''', i = '''3&nbsp;%''',
'''3&nbsp;%''', Nutzungsdauer '''20&nbsp;a'''. Fehlt die Leistungsgrenze, gilt '''1&nbsp;C''' (die
N = '''20&nbsp;a'''. Fehlt die Leistungsgrenze, gilt '''1&nbsp;C''' — P wird gleich C<sub>nom</sub>
Leistung wird gleich der Kapazität gesetzt) — das entspricht der impliziten Annahme des Bestands und
gesetzt; das entspricht der impliziten Annahme des Bestands und begrenzt praktisch nicht.
begrenzt praktisch nicht. Der Startladezustand ist ohne Angabe SoC<sub>min</sub>. Jeder dieser
Rückfälle wird im Protokoll benannt.
 
Investition = Modulkosten · C_nom + Leistungskosten · P + feste Investition


=== 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:


E_last    = P_last · dt      E_pv = P_pv · dt      E_bhkw = P_bhkw · dt
: <big>E<sub>last</sub>(k) = P<sub>last</sub>(k) · Δt ,&nbsp; E<sub>pv</sub>(k) = P<sub>pv</sub>(k) · Δt ,&nbsp; E<sub>bhkw</sub>(k) = P<sub>bhkw</sub>(k) · Δt</big> &nbsp;&nbsp;(6)
E_restlast = max(0 ; E_last − E_bhkw)         das BHKW deckt vorrangig
E_pv_frei  = max(0 ; E_pv  − E_restlast)     ladefähiger PV-Überschuss
E_bhkw_frei= max(0 ; E_bhkw − E_last)          ladefähiger BHKW-Überschuss
E_defizit  = max(0 ; E_last − E_pv − E_bhkw)   Residuallast
E_quelle  = (PV zulässig ? E_pv_frei : 0) + (BHKW zulässig ? E_bhkw_frei : 0)


Ü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> &nbsp;&nbsp;(7)
ist damit unmöglich. Welche Quellen zulässig sind, sagt die Variante (Grün- oder Graustrom).
 
: <big>E<sub>pv,frei</sub>(k) = max( 0 ; E<sub>pv</sub>(k) − E<sub>restlast</sub>(k) )</big> &nbsp;&nbsp;(8)
 
: <big>E<sub>bhkw,frei</sub>(k) = max( 0 ; E<sub>bhkw</sub>(k) − E<sub>last</sub>(k) )</big> &nbsp;&nbsp;(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> &nbsp;&nbsp;(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> &nbsp;&nbsp;(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.


Laden:   E_ac ≤ min( E_quelle  ; P·dt ; (SoC_max SoC)/η_ch )   SoC += E_ac · η_ch
: <big>E<sub>ch</sub>(k) ≤ min( E<sub>quelle</sub>(k) ; P · Δt ; ( SOC<sub>max</sub> SOC(k−1) ) / η<sub>ch</sub> ) ,&nbsp; SOC(k) = SOC(k−1) + E<sub>ch</sub>(k) · η<sub>ch</sub></big> &nbsp;&nbsp;(12)
Entladen: E_ac ≤ min( E_defizit ; P·dt ; (SoC − SoC_min)·η_dis )   SoC −= E_ac / η_dis


'''Nachtnutzung''': Solange die PV erzeugt, wird '''nur geladen'''; entladen wird erst, wenn die
: <big>E<sub>dis</sub>(k) ≤ min( E<sub>defizit</sub>(k) ; P · Δt ; ( SOC(k−1) − SOC<sub>min</sub> ) · η<sub>dis</sub> ) ,&nbsp; SOC(k) = SOC(k−1) − E<sub>dis</sub>(k) / η<sub>dis</sub></big> &nbsp;&nbsp;(13)
PV-Reihe null 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
'''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 wie in der Dauernutzung;
Plan ab. Der '''Eigenverbrauchsfluss hat Vorrang''' und läuft unverändert nach (12) und (13); die
die Netzpfade — Netzladung zum Ladepreis, Verkauf zum Erlöspreis — bekommen nur, was im Intervall
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 Wirkungsgrad 1 und schlägt einen
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:


F[i] = + E_entladen · p_bezug[i] / 100
: <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> &nbsp;&nbsp;(14)
        E_pv_anteil · v_pv[i] / 100
        E_bhkw_anteil · v_bhkw[i] / 100


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 ===


äquivalente Vollzyklen = entnommene Energie (DC) / C_nutz
: <big>z<sub>äq</sub> = E<sub>dis,DC</sub> / C<sub>nutz</sub></big> &nbsp;&nbsp;(15)
Ertrag im Referenzjahr = Σ F[i]
 
: <big>E<sub>a,1</sub> = Σ<sub>k=1…K</sub> F(k)</big> &nbsp;&nbsp;(16)
 
: <big>a(i,N) = i / ( 1 − (1 + i)<sup>−N</sup> ) ,&nbsp; für i = 0: &nbsp;a = 1 / N</big> &nbsp;&nbsp;(17)
 
: <big>A = I · a(i,N)</big> &nbsp;&nbsp;(18)
 
: <big>RBF(i,N) = ( 1 − (1 + i)<sup>−N</sup> ) / i ,&nbsp; für i = 0: &nbsp;RBF = N</big> &nbsp;&nbsp;(19)
 
Mit Degradation d tritt der '''degradierte''' Rentenbarwertfaktor an die Stelle von (19):


Annuitätsfaktor a(i,N) = i / (1 − (1 + i)^−N)          bei i = 0:  1/N
: <big>q = ( 1 − d ) / ( 1 + i )</big> &nbsp;&nbsp;(20)
Kapitaldienst          = Investition · a(i,N)
Rentenbarwertfaktor    = (1 − (1 + i)^−N) / i          bei i = 0:  N


Mit Degradation ''d'' tritt der degradierte Rentenbarwertfaktor an seine Stelle:
: <big>RBF<sub>deg</sub> = 1 / (1 + i) · ( 1 − q<sup>N</sup> ) / ( 1 − q )</big> &nbsp;&nbsp;(21)


q      = (1 − d) / (1 + i)
: <big>NPV = E<sub>a,1</sub> · RBF<sub>deg</sub> I</big> &nbsp;&nbsp;(22)
RBF_deg = 1/(1 + i) · (1 q^N) / (1 − q)


Der '''Kapitalwert''' ist Ertrag mal (degradiertem) Rentenbarwertfaktor minus Investition; die
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''':


ΔJ(C,P) = E_a,äq(C,P) − [ c_cap·C + c_pow·P + I_fix ] · a(i,N)   [ − Verschleißkosten ]
: <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) &nbsp;[ − Verschleißkosten ]</big> &nbsp;&nbsp;(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 der
* '''Laden und Entladen schließen einander im Intervall aus''' — das ist eine Folge von (7) bis
   Vorverarbeitung, keine Regel obendrauf.
   (10), keine Regel obendrauf.
* '''Ein konstanter Umlaufwirkungsgrad''', gleichmäßig auf Laden und Entladen verteilt (je √η<sub>RT</sub>).
* '''Ein konstanter Umlaufwirkungsgrad''', gleichmäßig auf Laden und Entladen verteilt — das ist die
  Keine Abhängigkeit von Ladezustand, Temperatur oder C-Rate.
  Aussage von (4). Keine Abhängigkeit von Ladezustand, Temperatur oder C-Rate.
* '''Keine Alterung im Jahreslauf.''' Die Degradation wirkt in der Wirtschaftlichkeit über die
* '''Keine Alterung im Jahreslauf.''' d wirkt in (20) und (21) über die Jahresreihe, nicht auf
  Jahresreihe, nicht auf die Kapazität innerhalb des gerechneten Jahres.
  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, kein eigener Rechenweg im Dispatch.
* '''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 — der Startwert beginnt bei 0 statt bei SoC<sub>min</sub>, das erste Intervall fällt aus
   Vorlage — SOC(0) beginnt bei 0 statt bei SOC<sub>min</sub>, das erste Intervall fällt aus der
   der Bilanz, der Preis steuert nicht die Entscheidung, sondern nur die Bewertung, und der
   Bilanz, der Preis steuert nicht die Entscheidung, sondern nur die Bewertung, und energetisch ist
   Wirkungsgrad ist energetisch 1. Er ist zum '''Nachstellen''' der alten Mappe da, nicht zum
   η = 1. Er ist zum '''Nachstellen''' der alten Mappe da, nicht zum Bewerten.
  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"''' — Ladezustandsverlauf, Lade- und Entladeenergie,
* '''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
  Rasterpunkt.
  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