no message
This commit is contained in:
141
README.md
141
README.md
@@ -114,90 +114,107 @@ Bearbeiten
|
||||
|
||||
### 3.3 Leistungszuweisung
|
||||
|
||||
- Zunächst ermittelt der Manager die **Soll–Ist-Differenz**
|
||||
```text
|
||||
D = Sollleistung_Max − Ist-Netzbezug
|
||||
Dann addiert er alle aktuell zugeteilten Verbraucherleistungen zum Sollwert:
|
||||
- Für jeden Verbraucher wählt der Manager die **höchste** Stufe aus `PowerSteps`, die die verbleibende Differenz \|D\| **nicht überschreitet**.
|
||||
- Er durchläuft die Verbraucher nacheinander (Round-Robin), bis \|D\| annähernd erschöpft ist.
|
||||
|
||||
text
|
||||
**Beispiel**
|
||||
- Verbraucher A: `[0,1000,2000]` Prio 1 5 kWh aktuell 2000 W
|
||||
- Verbraucher B: `[0,500,1500,2500]` Prio 2 0 kWh aktuell 500 W
|
||||
- Verbraucher C: `[0,500,1500,4000]` Prio 2 10 kWh aktuell 0 W
|
||||
- Verbraucher D: `[0,500,1200,2500]` Prio 2 15 kWh aktuell 0 W
|
||||
- Verbraucher E: `[0,200,1500]` Prio 3 15 kWh aktuell 0 W
|
||||
|
||||
---
|
||||
|
||||
#### Sortierte Stufen-Arrays
|
||||
|
||||
**Prio 1**
|
||||
[A0], [A1000], [A2000]
|
||||
|
||||
markdown
|
||||
Kopieren
|
||||
Bearbeiten
|
||||
GesamtVerteilbareLeistung = D + ∑(bereits zugeteilte Leistungen)
|
||||
Die Verbraucher werden nach Priorität und Fairness sortiert:
|
||||
|
||||
Aufsteigend nach PV_Prio (niedrig = höher)
|
||||
**Prio 2**
|
||||
[B0], [C0], [D0],
|
||||
[B500], [C500], [D500],
|
||||
[D1200], [B1500], [C1500],
|
||||
[B2500], [D2500], [C4000]
|
||||
|
||||
Bei gleicher Priorität Round-Robin anhand Bezogene_Energie (weniger Energie → zuerst)
|
||||
markdown
|
||||
Kopieren
|
||||
Bearbeiten
|
||||
|
||||
Innerhalb jeder Prioritätsstufe wird ein „Stufen-Array“ aufgebaut, das alle möglichen Leistungsstufen aller Verbraucher enthält, sortiert nach der Reihenfolge, in der sie zugeteilt werden dürfen.
|
||||
|
||||
Beispiel
|
||||
|
||||
Gegeben
|
||||
|
||||
Sollleistung_Max = 0 W, Ist-Netzbezug = –5000 W → D = 5000 W
|
||||
|
||||
Bereits zugeteilte Leistungen: A=2000 W, B=500 W → GesamtVerteilbareLeistung = 5000 + 2000 + 500 = 7500 W
|
||||
|
||||
Verbraucher
|
||||
**Prio 3**
|
||||
[E0], [E200], [E1500]
|
||||
|
||||
yaml
|
||||
Kopieren
|
||||
Bearbeiten
|
||||
A: [0,1000,2000], Prio 1, Bezogene_Energie 5 kWh, aktuell 2000 W
|
||||
B: [0,500,1500,2500], Prio 2, Bezogene_Energie 0 kWh, aktuell 500 W
|
||||
C: [0,500,1500,4000], Prio 2, Bezogene_Energie 10 kWh, aktuell 0 W
|
||||
D: [0,500,1200,2500], Prio 2, Bezogene_Energie 15 kWh, aktuell 0 W
|
||||
E: [0,200,1500], Prio 3, Bezogene_Energie 15 kWh, aktuell 0 W
|
||||
Stufen-Array pro Prio
|
||||
|
||||
---
|
||||
|
||||
#### Verteilungsschritte
|
||||
|
||||
1. **Delta berechnen**
|
||||
- Netzbezug = –5000 W
|
||||
- Sollwert = 0 W
|
||||
→ Differenz D = 5000 W
|
||||
|
||||
2. **Bereits verteilte Leistungen aufsummieren**
|
||||
- A = 2000 W
|
||||
- B = 500 W
|
||||
→ GesamtVerteilbareLeistung = 5000 + 2000 + 500 = **7500 W**
|
||||
|
||||
3. **Prio 1**
|
||||
7500 − 0 W (A0) = 7500
|
||||
7500 − 1000 W (A1000) = 6500
|
||||
(6500 + 1000 W vorher) − 2000 W (A2000) = 5500
|
||||
|
||||
markdown
|
||||
Kopieren
|
||||
Bearbeiten
|
||||
→ A erhält **2000 W**
|
||||
→ Rest: 5500 W
|
||||
|
||||
4. **Prio 2**
|
||||
5500 − 0 W (B0) = 5500
|
||||
5500 − 0 W (C0) = 5500
|
||||
5500 − 0 W (D0) = 5500
|
||||
5500 − 500 W (B500) = 5000
|
||||
5000 − 500 W (C500) = 4500
|
||||
4500 − 500 W (D500) = 4000
|
||||
(4000 + 500 W vorher) − 1200 W (D1200) = 3300
|
||||
(3300 + 500 W vorher) − 1500 W (B1500) = 2300
|
||||
(2300 + 500 W vorher) − 1500 W (C1500) = 1300
|
||||
(1300 + 1500 W vorher) − 2500 W (B2500) = 300
|
||||
(300 + 1500 W vorher) − 2500 W (C2500) → negativ → nicht möglich
|
||||
|
||||
markdown
|
||||
Kopieren
|
||||
Bearbeiten
|
||||
→ B erhält **2500 W**, C **1500 W**, D **1200 W**
|
||||
→ Rest: 300 W
|
||||
|
||||
5. **Prio 3**
|
||||
300 − 0 W (E0) = 300
|
||||
300 − 200 W (E200) = 100
|
||||
|
||||
yaml
|
||||
Kopieren
|
||||
Bearbeiten
|
||||
Prio 1: A0, A1000, A2000
|
||||
Prio 2: B0, C0, D0, B500, C500, D500, D1200, B1500, C1500, B2500, D2500, C4000
|
||||
Prio 3: E0, E200, E1500
|
||||
Verteilung
|
||||
→ E erhält **200 W**
|
||||
→ Verteilung beendet (Rest 100 W ungenutzt)
|
||||
|
||||
Prio 1
|
||||
---
|
||||
|
||||
7500 W − 0 W (A0) = 7500 W
|
||||
Durch dieses Verfahren – Aufaddierung der bereits verteilten Leistungen, Sortierung nach Priorität und Fairness sowie sukzessive Abarbeitung der Stufen-Arrays – wird die **Gesamtleistung optimal und gerecht** auf alle Verbraucher verteilt.
|
||||
|
||||
7500 W − 1000 W (A1000) = 6500 W
|
||||
|
||||
6500 W − 2000 W (A2000) = 4500 W → A erhält 2000 W
|
||||
|
||||
Prio 2
|
||||
|
||||
4500 W − 0 W (B0) = 4500 W
|
||||
|
||||
4500 W − 0 W (C0) = 4500 W
|
||||
|
||||
4500 W − 0 W (D0) = 4500 W
|
||||
|
||||
4500 W − 500 W (B500) = 4000 W
|
||||
|
||||
4000 W − 500 W (C500) = 3500 W
|
||||
|
||||
3500 W − 500 W (D500) = 3000 W
|
||||
|
||||
3000 W − 1200 W (D1200)= 1800 W
|
||||
|
||||
1800 W − 1500 W (B1500)= 300 W
|
||||
|
||||
300 W − 1500 W (C1500)= (negativ) → nicht möglich
|
||||
→ B erhält 2500 W, C 1500 W, D 1200 W
|
||||
|
||||
Prio 3
|
||||
|
||||
Rest 300 W
|
||||
|
||||
300 W − 0 W (E0) = 300 W
|
||||
|
||||
300 W − 200 W (E200) = 100 W
|
||||
→ E erhält 200 W (Rest 100 W ungenutzt)
|
||||
|
||||
Fazit: Durch Aufaddieren der bereits verteilten Leistungen vor der Neuverteilung und das schrittweise Abarbeiten der Stufen-Arrays in Prioritäts- und Fairness-Reihenfolge wird die verfügbare Gesamtleistung optimal und gerecht auf alle Verbraucher verteilt.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user