no message

This commit is contained in:
2025-06-12 17:07:07 +02:00
parent 3fce6d2343
commit 02a13975de

141
README.md
View File

@@ -114,90 +114,107 @@ Bearbeiten
### 3.3 Leistungszuweisung ### 3.3 Leistungszuweisung
- Zunächst ermittelt der Manager die **SollIst-Differenz** - Für jeden Verbraucher wählt der Manager die **höchste** Stufe aus `PowerSteps`, die die verbleibende Differenz \|D\| **nicht überschreitet**.
```text - Er durchläuft die Verbraucher nacheinander (Round-Robin), bis \|D\| annähernd erschöpft ist.
D = Sollleistung_Max Ist-Netzbezug
Dann addiert er alle aktuell zugeteilten Verbraucher­leistungen zum Sollwert:
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 Kopieren
Bearbeiten 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. **Prio 3**
[E0], [E200], [E1500]
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
yaml yaml
Kopieren Kopieren
Bearbeiten 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 #### Verteilungsschritte
E: [0,200,1500], Prio 3, Bezogene_Energie 15 kWh, aktuell 0 W
Stufen-Array pro Prio 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 yaml
Kopieren Kopieren
Bearbeiten Bearbeiten
Prio 1: A0, A1000, A2000 → E erhält **200 W**
Prio 2: B0, C0, D0, B500, C500, D500, D1200, B1500, C1500, B2500, D2500, C4000 → Verteilung beendet (Rest 100 W ungenutzt)
Prio 3: E0, E200, E1500
Verteilung
Prio 1 ---
7500 W 0 W (A0) = 7500 W Durch dieses Verfahren Auf­addierung 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.
--- ---